如何传date参数_如何使用Python获取指定股票的5/15/30/60分钟线数据?
本篇僅介紹指定股票的數(shù)據(jù)拉取,批量拉取將在之后的教程中進(jìn)行介紹,首先你需要安裝BaoStock,參見往期教程:
如何使用Python安裝BaoStock?
該數(shù)據(jù)是從2015年開始的,優(yōu)點(diǎn)是可以用Python直接調(diào)用。如果你想獲得更全的日線數(shù)據(jù),請(qǐng)參照教程用通達(dá)信獲取(這個(gè)會(huì)比較麻煩,需要每天手動(dòng)維護(hù)):
如何免費(fèi)輕松獲得最完整可靠的股票期貨等歷史數(shù)據(jù)?
以5分鐘線數(shù)據(jù)為例,它分為不復(fù)權(quán),前復(fù)權(quán)和后復(fù)權(quán)三種,你根據(jù)自己的需要復(fù)制以下代碼,它們的區(qū)別只是把a(bǔ)djustflag和frequency改了一下,5分鐘的frequency="5",15分鐘的frequency="15",30分鐘的frequency="30",60分鐘的frequency="60",技術(shù)分析的時(shí)候一般會(huì)選擇前復(fù)權(quán)的數(shù)據(jù):
1.前復(fù)權(quán)版本【adjustflag="2",frequency="5"】(優(yōu)先選擇)
import baostock as bsimport pandas as pd#### 登陸系統(tǒng) ####lg = bs.login()# 顯示登陸返回信息print('login respond error_code:'+lg.error_code)print('login respond error_msg:'+lg.error_msg)#### 獲取滬深A(yù)股歷史K線數(shù)據(jù) ####rs?=?bs.query_history_k_data_plus("sh.600000",?"date,time,code,open,high,low,close,volume,amount,adjustflag",?start_date='',?end_date='',?frequency="5",?adjustflag="2")print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus respond error_msg:'+rs.error_msg)#### 打印結(jié)果集 ####data_list = []while (rs.error_code == '0') & rs.next(): # 獲取一條記錄,將記錄合并在一起 data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)#### 結(jié)果集輸出到csv文件 #### result.to_csv("C:\\Py\\sh600000_min_2.csv", index=False)print(result)#### 登出系統(tǒng) ####bs.logout()2.不復(fù)權(quán)版本【adjustflag="3",frequency="5"】(備選代碼)
import baostock as bsimport pandas as pd#### 登陸系統(tǒng) ####lg = bs.login()# 顯示登陸返回信息print('login respond error_code:'+lg.error_code)print('login respond error_msg:'+lg.error_msg)#### 獲取滬深A(yù)股歷史K線數(shù)據(jù) ####rs = bs.query_history_k_data_plus("sh.600000", "date,time,code,open,high,low,close,volume,amount,adjustflag", start_date='', end_date='', frequency="5", adjustflag="3")print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus respond error_msg:'+rs.error_msg)#### 打印結(jié)果集 ####data_list = []while (rs.error_code == '0') & rs.next(): # 獲取一條記錄,將記錄合并在一起 data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)#### 結(jié)果集輸出到csv文件 #### result.to_csv("C:\\Py\\sh600000_min_2.csv", index=False)print(result)#### 登出系統(tǒng) ####bs.logout()3.后復(fù)權(quán)版本【adjustflag="1",frequency="5"】(備選代碼)
import baostock as bsimport pandas as pd#### 登陸系統(tǒng) ####lg = bs.login()# 顯示登陸返回信息print('login respond error_code:'+lg.error_code)print('login respond error_msg:'+lg.error_msg)#### 獲取滬深A(yù)股歷史K線數(shù)據(jù) ####rs = bs.query_history_k_data_plus("sh.600000", "date,time,code,open,high,low,close,volume,amount,adjustflag", start_date='', end_date='', frequency="5", adjustflag="1")print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus respond error_msg:'+rs.error_msg)#### 打印結(jié)果集 ####data_list = []while (rs.error_code == '0') & rs.next(): # 獲取一條記錄,將記錄合并在一起 data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)#### 結(jié)果集輸出到csv文件 #### result.to_csv("C:\\Py\\sh600000_min_2.csv", index=False)print(result)#### 登出系統(tǒng) ####bs.logout()新建一個(gè)文件,命名為MIN.py,并將上述代碼中的任意一份粘貼到你的文件中。
修改代碼中的紅色部分為你需要的股票代碼和輸出路徑,上證股票就是sh.6XXXXX,深證股票是sz.00XXXX,創(chuàng)業(yè)板股票是:sz.30XXXX,科創(chuàng)板是688XXX,上證指數(shù)是sh.000001,深證成指是sz.399001,中小板指是sz.399005,創(chuàng)業(yè)板是sz.399006。
我們以浦發(fā)銀行(sh.600000)的前復(fù)權(quán)數(shù)據(jù)為例,也就是上邊的第一份代碼,打開命令提示行,輸入python C:\PY\MIN.py:
輸入回車運(yùn)行腳本,得到如下結(jié)果,說明拉取是成功,否則請(qǐng)檢查程序的安裝問題,以及網(wǎng)絡(luò):
另外在指定目錄中生成了CSV的文件,這個(gè)文件很容易被Python,Matlab和各種程序解析:
| 參數(shù)名稱 | 參數(shù)描述 | 說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD |
| time | 交易所行情時(shí)間 | 格式:YYYYMMDDHHMMSSsss |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 |
| open | 開盤價(jià)格 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| high | 最高價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| low | 最低價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| close | 收盤價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| volume | 成交數(shù)量 | 單位:股 |
| amount | 成交金額 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) |
總結(jié)
以上是生活随笔為你收集整理的如何传date参数_如何使用Python获取指定股票的5/15/30/60分钟线数据?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cnn 一维时序数据_一时序数据输入维c
- 下一篇: python 服务监控_python实现