導航:首頁 > 數據行情 > 如何用r抓取股票資料庫

如何用r抓取股票資料庫

發布時間:2023-01-17 17:38:21

Ⅰ 如何用R語言提取股票行情數據

最上邊一行菜單欄倒數第二個「高級」-「關聯任務定義」-選取最右邊從上到下第二個按鈕,找到2009年決算任務安裝路徑-確定。 然後 最上邊一行菜單欄正數第二個「錄入」-「上年數據提取」即可 提取完了,注意修改與去年不同的科目代碼!

Ⅱ R語言下有沒有好的辦法獲得股票的財務數據

可用RCurl包,從新浪財經等網站下載數據,然後再分析。
include <QtCore/QCoreApplication>
#include <QAxObject>
#include <Windows.h>
int main(int argc, char *argv[])
{
//OleInitialize(0);
//CoInitialize(0);
QCoreApplication a(argc, argv);
QAxObject *asdfg = new QAxObject("Excel.Application");
return a.exec();
}

Ⅲ 怎麼獲取股票數據c++ api

基本都是自己封裝CTP介面,程序端實現多賬戶、多策略的行情信號接收和委託提交/回報處理。也可以用 QuantBox/QuantBox_XAPI · GitHub 這樣的封裝的比較好、多介面統一API的項目直接整合到程序化平台的項目中使用。

通過程序介面用證券、期貨賬號登錄後訂閱品種的行情,證券、商品期貨、股指期貨、期權(全真模擬,9號就有實盤行情)都可以接收交易所的快照數據(例如商
品、股指都是500ms一個快照,數據結構也比較完整)。然後交易平台可以把行情數據廣播給各個策略程序,程序根據量化策略的邏輯判斷是否下單?掛單的方
式如何?掛單失敗是否追單?如何追單?
策略程序判斷要下單,則提交指令到程序化交易平台,平台把各個帳號各個品種中策略的邏輯持倉匯總為實際持倉,然後通過介面提交委託,並且處理委託回報。
行情數據一方面廣播給策略程序,一方面自己存資料庫,存下來的數據通過完整性檢測後,可以自己合成低頻率的數據,如
1分鍾、30分鍾、1小時、日度等等,這些數據會被用於策略回測,也可以用於市場微觀結構的觀察和研究,例如可以通過優化掛單方式來降低交易滑點。
Matlab可以做一些回測,實盤可能是比較不易用的。一般可以用C++, Java, C#來利用CTP程序化交易介面實現實盤平台,策略研究推薦用R做數據分析、統計、處理、可視化、策略分析、自動報告,用Rcpp(R調用C++)或者直接C++實現高性能回測,用單機並行或集群實現批量回測。

Ⅳ 如何用R語言在數據中提取指定列數據,並且形成一個新的數據表

1、分析數據表:通過瀏覽「入庫明細」表,我們可能看到入庫明細表中,作為提取記錄的條件零件號在A列。

需要提取的記錄,入庫日期在H列、入庫單號在O列、最後生產批號在L列、入庫前庫存數在Q列。為DC000496ZL的記錄有5條(截圖中的4條是指上面有4條)。

2、列出提取條件及項目:在sheet1中,將A列放置提取條件(即零件號)。在B、C、D、E列分別寫上提取項目名稱:入庫日期、入庫單號、最後生產批號、入庫前庫存數。

3、寫公式:在最後入庫日期項目下B2中輸入公式:=MAX((入庫明細!$A$2:$A$26=$A2)*(入庫明細!$H$2:$H$26)),這是一個數組公式,請用三鍵確認(ctrl+shift+enter)。

搜索
免費自學excel教程全套
excel另一列數據提取
自動抓取數據excel表
表格技巧大全
excel100個常用技巧
新手怎麼做財務報表

Ⅳ 如何用R語言提取股票行情數據

你好,關於股票價格有關的開盤價格,當日最高價格,當日最低價格,收盤價格,股票交易量;和調整後的價格;

DIA.Open 當日開盤價格

DIA.High 當日最高價格

DIA.Low 當日最低價格

DIA.Close 當日收盤價格

DIA.Volume 當日股票交易量

DIA.Adjusted 當日調整後的價格

Ⅵ 如何下載股票歷史成交數據到Excel或txt

以華中智能股票軟體為例:(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)首先切換到要下載數據的股票K線形態,按「F1」進入「日線某某股票歷史成交」,點擊滑鼠右鍵->數據導出->導出所有數據->在「請選擇導出的類型」中選擇excel或txt
補充資料:
如何獲取所有股票歷史數據:
如果要對股市進行分析,首先就要獲取所有股票的歷史數據,只有通過股票的歷史數據,我們才能分析出股市的規律。
(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、電腦1g內存1核處理器及以上配置
3、擁有較強邏輯分析能力以及少量智慧及以上的大腦一顆
方法/步驟:
第一步,獲取股票代碼,復制其中一部分到第一個工作表A4到A127,然後通過程序把每一個代碼寫入到不同的工作表A2位置,並對該工作表以該股票代碼命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,獲取股票歷史數據。代碼如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 歷史數據()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Cells(i + kaishihang, 1) = Right(Left(arr1(0), 10), 10)
arr2 = Split(arr1(1), Chr(60))
Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
arr10 = Split(arr1(9), Chr(60))
Cells(i + kaishihang, 10) = Mid(arr10(0), InStr(arr10(0), ">") + 1)
arr11 = Split(arr1(10), Chr(60))
Cells(i + kaishihang, 11) = Mid(arr11(0), InStr(arr11(0), ">") + 1)
Next i
End If
End With
Next m
Next h
Set objXML = Nothing
End Sub
第三步,獲取上證歷史數據,並獲取所有股票的歷史數據。程序如下:
Sub 所有股票歷史數據獲取()
Application.ScreenUpdating = False
Dim s As String, gp As String, nian As String, ji As String, s1 As String
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9
Dim i, h As Long
Dim kaishihang
Dim LastRow As Long, r As Long
On Error Resume Next
EndRow = Sheet2.Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Sheet2.Range(Sheet2.Cells(startRow, 1), Sheet2.Cells(EndRow, 9)).Value = ""
Else
Exit Sub
End If
For h = 1 To 5
For m = 1 To 4
kaishihang = Sheet2.[A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
s1 = "http://quotes.money.163.com/trade/lsjysj_shu_000001.html?year=" + nian + "&season=" + ji + ""
s = GetSource(s1)
arr = Split(s, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Sheet2.Cells(i + kaishihang, 1) = Right(Left(arr1(0), 4), 4) & "-" & Right(Left(arr1(0), 6), 2) & "-" & Right(Left(arr1(0), 10), 2)
arr2 = Split(arr1(1), Chr(60))
Sheet2.Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Sheet2.Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Sheet2.Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Sheet2.Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Sheet2.Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Sheet2.Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Sheet2.Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Sheet2.Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
Next i
Next m
Next h
Application.ScreenUpdating = True
n = Worksheets.Count
For i = 4 To n
Worksheets(i).Activate
歷史數據
Next
End Sub
第四步,保存工作簿,並對該工作簿命名為1,然後復制該工作簿27份,把所有股票代碼寫入每一個工作簿第一個工作表的A3到A127列。然後根據第一步對工作簿內的工作表命名,並在每一個工作表A2單元格內寫入股票代碼。
第五步,把這些工作簿存放到炒股文件夾下的資料庫文件下。然後在炒股文件夾下新建一個工作簿,命名為「一鍵更新表格」,寫入如下代碼:
Sub 所有股票歷史數據更新()
Dim wb As Workbook
For i = 1 To 27
Set wb = Workbooks.Open(ThisWorkbook.Path & "資料庫" & i & "".xlsb"")
Application.Run ""'"" & wb.Path & """" & i & "".xlsb'!所有股票歷史數據獲取""
wb.Save
wb.Close
Next i
End sub
當啟動這一段代碼以後,程序會自動一個一個的打開對應的工作簿然後獲取裡面所有股票的歷史數據,存放在對應的工作表當中。
第六步,對相應的程序添加按鈕,這樣,我們在啟動對應程序時,只需要點一下對應的按鈕就可以實現了。這樣,我們通過多個工作簿就實現了獲取所有股票歷史數據的方法。而後面,我們只需要通過獲取對應股票每一天的歷史數據,我們就能夠在任意一天很快速的能夠擁有所有股票的歷史數據了。
注意事項
1、在後續需要對這些數據進行分析,裡面會加入很多計算,所以啟動所有歷史數據更新時,我們應該要關閉自動更新。
2、因為歷史數據很大,所以這里只獲取四年的數據,想要獲取更多數據,可以更改程序裡面 「For h = 1 To 5」的那個5即可。
3、歷史數據的獲取需要較長的時間,要提前做好准備。
4、如果你想要弄清楚用EXCEL建立炒股系統的整套方法,請看後續內容。"

Ⅶ R語言如何從外部讀取數據到R中

R語言如何從外部讀取數據到R中
R語言可以從鍵盤,文本,excel,access,資料庫,專業處理軟體sas

一、使用鍵盤的輸入
mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
mydata<-edit(mydata)
二、讀入帶有分隔符文本格式的數據
data<-read.table(文件,header=true/false,sep="delimeter",row.names=列名)
其中文件可以有很多選項的
file()gzfile(),bzfile(),等一些壓縮文件以及url(http://,ftp://,smtp://)
例子:
默認的時候,字元串會自動使用factor轉化為數值型
data<-read.table("student.csv",header=TRUE,sep=",",row.names="studentid",stringsAsFactors=FALSE)
三、將xls文件導入到R中
(1)將xls變成csv的格式導入
(2)在Windows系統中,你也可以使用RODBC包來訪問Excel文件。
library(RODBC)
channel <- odbcConnectExcel("student.xls")
mydataframe<-sqlFetch(channel,"Sheet1")
odbcClose(channel)
四、抓取網頁並且提取信息
五、導入spss數據
library(Hmisc)
mydata<-spss.get("mydata.sav",use.value.labels=TRUE)
六、導入SAS數據
將sas格式的數據轉換為csv格式的數據 然後用read.table()形式導入
七、導入關系型資料庫的數據
R中有多種面向關系型資料庫管理系統(DBMS)的介面,包括Microsoft SQL Server、Microsoft Access、MySQL、Oracle、PostgreSQL、DB2、Sybase、Teradata以及SQLite。其中一些包通過原生的資料庫驅動來提供訪問功能,另一些則是通過ODBC或JDBC來實現訪問的。
(1)使用ODBC的方式導入數據

Ⅷ 如何利用一些 finance 資料庫 api 批量獲取股票信息

使用Yahoo API獲取股票信息。

Ⅸ 如何用R語言的quantmod包獲取一系列股票的歷史日線數據

我舉個例子供你參考:
> install.packages('quantmod') # 安裝安裝quantmod包
> require(quantmod)#引用quantmod包
> getSymbols("GOOG",src="yahoo",from="2013-01-01", to='2013-04-24') #從雅虎財經獲取google的股票數據
> chartSeries(GOOG,up.col='red',dn.col='green') #顯示K線圖

Ⅹ r語言怎麼抓取網頁數據

如果用Python或者C#可能更容易。但是R本身也有很強的處理功能。
用regular expression. 將html的source打開,比如可以將其按照txt的格式打開。裡面的編碼都是有規律的,接下來用regular experssion打開。比較常用的函數gsub, strsplit, grep等,可以看幫助文件。
R可以在網頁上抓取數據,一種途徑是使用函數readlines()下載網頁,然後使用如grep()和gsub()一類的函數處理,對於結構復雜的網頁,可以使用RCurl和XML包來提取其中想要的信息。
更多信息和示例,參考在Programming with R上找到的「Webscraping Using ReadLines and Rcurl」一文;

閱讀全文

與如何用r抓取股票資料庫相關的資料

熱點內容
股票里的特殊賬戶 瀏覽:424
最准確的股票數據網 瀏覽:28
網商銀行的股票代碼 瀏覽:391
行業互動對股票市場有什麼影響 瀏覽:553
必需品投資組合股票行情分析 瀏覽:619
股票看盤重要時間點 瀏覽:739
股票投資從哪開始學 瀏覽:662
資產管理公司可以代買股票嗎 瀏覽:625
最新石墨烯股票 瀏覽:533
雄朔科技股票 瀏覽:526
並購重組有哪些股票 瀏覽:590
股票交易數據APP 瀏覽:634
股票循環波動規律指標公式 瀏覽:427
投資策略股票可靠么 瀏覽:582
利率變化對股票影響 瀏覽:662
中國最好股票論壇前3名 瀏覽:994
業績比較好的證券股票 瀏覽:351
股票公司的凈資產為多少好 瀏覽:901
香港股票質押要過戶嗎 瀏覽:663
怎麼在股票軟體上看分紅 瀏覽:158