導航:首頁 > 數據行情 > tushare獲取股票數據表存入本地

tushare獲取股票數據表存入本地

發布時間:2023-03-14 21:53:12

A. 怎樣用python處理股票

用Python處理股票需要獲取股票數據,以國內股票數據為例,可以安裝Python的第三方庫:tushare;一個國內股票數據獲取包。可以在網路中搜索「Python tushare」來查詢相關資料,或者在tushare的官網上查詢說明文檔。

B. 如何下載股票歷史成交數據到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建立炒股系統的整套方法,請看後續內容。"

C. 100銀子求助如何遍歷讀取TuShare的分筆股票數據

import tushare as ts
import time

while True:
df = ts.get_realtime_quotes('000581') #Single stock symbol
print df[['code','name','price','bid','ask','volume','amount','time']]
time.sleep(2)

根據 http://tushare.org/trading.html#id6 提供的例子,你可以包裝成函數,傳入你要獲取的股票代碼,df包含30個列的內容,你可以輸出你想要的列,也可以保存到資料庫里。
tushare.org上都寫得很清楚了。
遍歷讀取無非就是
import tushare as ts

df = ts.get_tick_data('600848',date='2014-01-09')

for i in df.index:

print df.loc[i]
print df.loc[i]['price']
其中i就是序號,以i為基礎你可以獲取所有row的數據,包括具體某一行某一列。python根據坐標讀取數據有多重方法,你學明白python後,tushare用起來就方便了。

D. 股票組合可以回測嗎

股票組合可以回測。使用構建交易組合進行量化回測。
1、數據獲取和載入,A股數據使用tushare來獲取,由於對多隻股頻繁獲取容易出現介面報錯,可以在本地搭建一個股票資料庫。
2、以一個簡單的動量+趨勢跟蹤策略,思路為計算24隻股票過去30日的收益率並進行排序,選擇前10隻股票加入選股池(動量),逐日滾動計算和判斷:如果選股池中某隻個股滿足股價位於20均線以上且沒有持倉時買入(以20日均線為生命線跟蹤趨勢)。如果某隻個股已持倉但判斷不在選股池中或股價位於20均線以下則賣出。每次交易根據十隻個股平均持倉。
3、再寫一個循環遍歷24隻個股數據並載入到回測系統中,將初始本金設置為10萬元,手續費為千分之一,回測結束列印出交易日記即可。

E. python讀取財經數據

提取日期數據基本語法
from WindPy import w
w.start()
當出現.ErrorCode==-103說明沒連接上,要start一下

w.wsd(security, fields, startDate = None, endDate= None , options = None)
opion 可選(period, 日期類型, 貨幣類型,前後復權)

提取財務數據基本語法
w.wss(security, fields, options = None)

提取板塊日序列基本語法
w.wses(sectorCode, fields, startDate = None, endDate = None, options = None)

提取板塊日截面數據基本語法
w.wsee(sectorCode, fields, options=None)

提取宏觀數據基本語法
w.edb(codes, startDate =None, endDate =None, options=None)

1.日期序列基本語法
ts.get_hist_data(stock,start,end)
注意:1.stock不能是集合,只能單個股票 2.需要帶上.sz或.sh 3.沒有field,只能取出數據後再切除.

2.pro用法
pro.daily(code, start, end, fields)

tushare引用語句

弊端也很明顯,一方面不能stock集合輸入,一次只能調取一個股票對應數據,另一方面tushare雖是免費試用,但有許可權限制。

基本語法
wb.get_data_yahoo(code, start, end)
wb.DataReader(code, 'yahoo', start, end)

沒法添加fields, 雖能集合適用,但出來的索引挺奇怪的

推薦使用定義函數或用for循環批量獲取數據

總體感覺wind api最舒服,但需要賬號,mac也不能直接調用wind api。還是推薦tushare的pro用法。

小白學習中,請指教=v=

F. tushare的介面怎麼樣使用

安裝TuShare
方式1:pip install tushare
方式2:訪問https://pypi.python.org/pypi/tushare/下載安裝
方式3:將源代碼下載到本地python setup.py install
升級TuShare
1、先查看本地與線上的版本版本號:
pip search tushare
2、升級TuShare:
pip install tushare --upgrade
確認安裝成功
import tushare as ts
print ts.__version__
獲取歷史交易數據
import tushare as ts
df = ts.get_hist_data(『600848』)
ts.get_hist_data(『600848』,ktype='W『) #獲取周k線數據
ts.get_hist_data('600848』,ktype='M『) #獲取月k線數據
ts.get_hist_data('600848』,ktype='5『) #獲取5分鍾k線數據
ts.get_hist_data('600848』,ktype='15『) #獲取15分鍾k線數據
ts.get_hist_data('600848』,ktype='30『) #獲取30分鍾k線數據
ts.get_hist_data('600848』,ktype='60『) #獲取60分鍾k線數據
ts.get_hist_data('sh』)#獲取上證指數k線數據,其它參數與個股一致,下同
ts.get_hist_data(『sz』)#獲取深圳成指k線數據 ts.get_hist_data(『hs300』)#獲取滬深300指數k線數據
ts.get_hist_data(『sz50』)#獲取上證50指數k線數據
ts.get_hist_data(『zxb』)#獲取中小板指數k線數據
ts.get_hist_data(『cyb』)#獲取創業板指數k線數據
Python財經數據介麵包TuShare的使用
獲取歷史分筆數據
df = ts.get_tick_data(『000756','2015-03-27』)
df.head(10)
Python財經數據介麵包TuShare的使用
獲取實時分筆數據
df = ts.get_realtime_quotes(『000581』)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值說明:
0:name,股票名字
1:open,今日開盤價
2:pre_close,昨日收盤價
3:price,當前價格
4:high,今日最高價
5:low,今日最低價
6:bid,競買價,即「買一」報價
7:ask,競賣價,即「賣一」報價
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金額(元 CNY)
10:b1_v,委買一(筆數 bid volume)
11:b1_p,委買一(價格 bid price)
12:b2_v,「買二」
13:b2_p,「買二」
14:b3_v,「買三」
15:b3_p,「買三」
16:b4_v,「買四」
17:b4_p,「買四」
18:b5_v,「買五」
19:b5_p,「買五」
20:a1_v,委賣一(筆數 ask volume)
21:a1_p,委賣一(價格 ask price)

30:date,日期
31:time,時間

G. tushare的介面怎麼樣使用

一、安裝TuShare

方式1:pip install tushare

方式2:訪問https://pypi.python.org/pypi/tushare/下載安裝

方式3:將源代碼下載到本地python setup.py install

二、升級TuShare

1、先查看本地與線上的版本版本號:

pip search tushare

2、升級TuShare:

pip install tushare --upgrade

確認安裝成功

import tushare as ts
print ts.__version__
import tushare as ts
df = ts.get_hist_data(『600848』)
ts.get_hist_data(『600848』,ktype='W『) #獲取周k線數據
ts.get_hist_data('600848』,ktype='M『) #獲取月k線數據
ts.get_hist_data('600848』,ktype='5『) #獲取5分鍾k線數據
ts.get_hist_data('600848』,ktype='15『) #獲取15分鍾k線數據
ts.get_hist_data('600848』,ktype='30『) #獲取30分鍾k線數據
ts.get_hist_data('600848』,ktype='60『) #獲取60分鍾k線數據
ts.get_hist_data('sh』)#獲取上證指數k線數據,其它參數與個股一致,下同
ts.get_hist_data(『sz』)#獲取深圳成指k線數據 ts.get_hist_data(『hs300』)#獲取滬深300指數k線數據
ts.get_hist_data(『sz50』)#獲取上證50指數k線數據
ts.get_hist_data(『zxb』)#獲取中小板指數k線數據
ts.get_hist_data(『cyb』)#獲取創業板指數k線數據
Python財經數據介麵包TuShare的使用
獲取歷史分筆數據
df = ts.get_tick_data(『000756','2015-03-27』)
df.head(10)
Python財經數據介麵包TuShare的使用
獲取實時分筆數據
df = ts.get_realtime_quotes(『000581』)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值說明:
0:name,股票名字
1:open,今日開盤價
2:pre_close,昨日收盤價
3:price,當前價格
4:high,今日最高價
5:low,今日最低價
6:bid,競買價,即「買一」報價
7:ask,競賣價,即「賣一」報價
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金額(元 CNY)
10:b1_v,委買一(筆數 bid volume)
11:b1_p,委買一(價格 bid price)
12:b2_v,「買二」
13:b2_p,「買二」
14:b3_v,「買三」
15:b3_p,「買三」
16:b4_v,「買四」
17:b4_p,「買四」
18:b5_v,「買五」
19:b5_p,「買五」
20:a1_v,委賣一(筆數 ask volume)
21:a1_p,委賣一(價格 ask price)

30:date,日期
31:time,時間

H. tushare導出來的數據是一整年的嗎

tushare開源股票交易介面基於python實現技術

如何在tushare上完成股票的實際交易

其實,如何使用實際的交易功能界面,就像在tushare中獲取數據一樣簡單。 首先,我們來看看幾個重要介面的使用方法。

1 .像獲取數據一樣,首先導入tushare包

2 .設置證券公司和賬戶信息。 目前只支持中信建投,計劃陸續支持其他證券公司。

3 .查看已設置的證券公司和賬號信息

對於帳戶的安全性,tushare是一個純粹的開源項目,程序在本地運行,所以完全可以放心。

4 .事務處理介面初始化和登錄

初始化事務介面TradeAPI對象時,必須設置證券公司編號。 例如,「zxjt」表示「中信建投」,「htzq」表示「華泰證券」,用於確定使用哪個證券公司渠道。

5 .獲取賬戶基礎數據

因為使用了實盤賬戶,所以數據已經處理了。 )

此處返回的數據是Series對象,獲取單個數據採用的方法類似於json。 例如,要獲取帳戶的可用余額,可使用

baseinfo['fundavl'],證券的總市值可以使用baseinfo['marketvalue']。

6 .獲取崗位列表

7 .股票買賣

可以根據金額的兩位數或股票操作股票(證券)的買賣。 具體請參考上述代碼注釋部分。

8 .獲取委託書列表

撤退操作必須通過獲取請求單列表中的數據來完成,某些數據作為參數傳遞給撤退函數。

9 .拆遷單

撤銷多個證券時,ordersno和orderdate由逗號分隔,這兩個參數中的數據來自委託單個界面。

閱讀全文

與tushare獲取股票數據表存入本地相關的資料

熱點內容
寶盈人工智慧主題股票型證券投資基金 瀏覽:77
2018年中簽率最低的股票 瀏覽:266
股票凈資產收益率在哪裡看 瀏覽:700
評估股票的投資價值和合理價值 瀏覽:667
國企重組改革股票 瀏覽:292
以下哪個是股票上市的條件 瀏覽:549
排除關稅對股票的影響 瀏覽:769
選股票看什麼指標視頻 瀏覽:235
振芯科技股票成交量怎麼看 瀏覽:631
外貿對股票市場的影響 瀏覽:428
長期持有股票計量 瀏覽:389
香港燭光的股票多少號 瀏覽:970
力帆集團被重組股票還能買嗎 瀏覽:447
怎麼把資金轉入股票賬號 瀏覽:319
中新科技股票最新動態 瀏覽:466
阿爾法金融etf股票怎麼樣 瀏覽:192
瑞松智能股票代碼 瀏覽:633
600200股票走勢 瀏覽:264
什麼叫股票凈資產 瀏覽:307
股票信息排序 瀏覽:734