1 背景
Tushare平臺是目前使用python學習量化投資比較好用的而且是免費的一個資料獲取平臺,主要實作對金融資料從資料采集、清洗加工 到 資料存盤的程序,能夠為金融分析人員提供快速、整潔、和多樣的便于分析的資料,為他們在資料獲取方面極大地減輕作業量,使他們更加專注于策略和模型的研究與實作上,
2 獲取未復權資料
2.1 登陸Tushare
通過以下url,用戶可以注冊到自己的tushare賬號,登陸賬號之后,在賬號的個人首頁->介面Token中獲取對應的Token進行資料獲取的鑰匙,
url = "https://tushare.pro/register?reg=399376"
2.2 用pyhton連接tushare
首先,需要安裝tushare模塊
pip install tushare
連接tushare
import tushare as ts
ts.set_token('your token here')#這里填入自己獲取的token
pro = ts.pro_api()
2.3 用pyhton獲取資料
以平安銀行為例,獲取2018年-2021年平安銀行的日線資料:
df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20211022')
資料說明:
交易日每天15點~16點之間,本介面是未復權行情,停牌期間不提供資料,
輸入引數:
| 名稱 | 型別 | 必選 | 描述 |
|---|---|---|---|
| ts_code | str | N | 股票代碼(支持多個股票同時提取,逗號分隔) |
| trade_date | str | N | 交易日期(YYYYMMDD) |
| start_date | str | N | 開始日期(YYYYMMDD) |
| end_date | str | N | 結束日期(YYYYMMDD) |
注:日期都填YYYYMMDD格式,比如20181010
輸出引數:
| 名稱 | 型別 | 描述 |
|---|---|---|
| ts_code | str | 股票代碼 |
| trade_date | str | 交易日期 |
| open | float | 開盤價 |
| high | float | 最高價 |
| low | float | 最低價 |
| close | float | 收盤價 |
| pre_close | float | 昨收價 |
| change | float | 漲跌額 |
| pct_chg | float | 漲跌幅 (未復權,如果是復權請用 通用行情介面 ) |
| vol | float | 成交量 (手) |
| amount | float | 成交額 (千元) |
也可以通過這種方式進行資料獲取:
df = pro.query('daily', ts_code='000001.SZ', start_date='20180701', end_date='20211022')
也可以按照日期獲取某一天的全部資料:
df = pro.daily(trade_date='20211022')
多個資料一起獲取:
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20180701', end_date='20180718')
2.4 查看資料資料
查看拿到的資料型別,發現資料為DataFrame格式,因此資料的操作與pandas一致
>>>type(df)
pandas.core.frame.DataFrame
查看前5條資料t
df.head()
同理,查看后5條資料
df.tail()
| ts_code | trade_date | open | high | low | close | pre_close | change | pct_chg | |
|---|---|---|---|---|---|---|---|---|---|
| 799 | 000001.SZ | 20180706 | 8.61 | 8.78 | 8.45 | 8.66 | 8.60 | 0.06 | 0.70 |
| 800 | 000001.SZ | 20180705 | 8.62 | 8.73 | 8.55 | 8.60 | 8.61 | -0.01 | -0.12 |
| 801 | 000001.SZ | 20180704 | 8.63 | 8.75 | 8.61 | 8.61 | 8.67 | -0.06 | -0.69 |
| 802 | 000001.SZ | 20180703 | 8.69 | 8.70 | 8.45 | 8.67 | 8.61 | 0.06 | 0.70 |
| 803 | 000001.SZ | 20180702 | 9.05 | 9.05 | 8.55 | 8.61 | 9.09 | -0.48 | -5.28 |
3 獲取復權資料
介面名稱:pro_bar
更新時間:股票和指數通常在15點~17點之間,數字貨幣實時更新,具體請參考各介面檔案明細,
描述:目前整合了股票(未復權、前復權、后復權)、指數、數字貨幣、ETF基金、期貨、期權的行情資料,未來還將整合包括外匯在內的所有交易行情資料,同時提供分鐘資料,不同資料對應不同的積分要求,具體請參閱每類資料的檔案說明,
其它:由于本介面是集成介面,在SDK層做了一些邏輯處理,目前暫時沒法用http的方式調取通用行情介面,用戶可以訪問Tushare的Github,查看源代碼完成類似功能,
輸入引數
| 名稱 | 型別 | 必選 | 描述 |
|---|---|---|---|
| ts_code | str | Y | 證券代碼,不支持多值輸入,多值輸入獲取結果會有重復記錄 |
| api | str | N | pro版api物件,如果初始化了set_token,此引數可以不需要 |
| start_date | str | N | 開始日期 (格式:YYYYMMDD,提取分鐘資料請用2019-09-01 09:00:00這種格式) |
| end_date | str | N | 結束日期 (格式:YYYYMMDD) |
| asset | str | Y | 資產類別:E股票 I滬深指數 C數字貨幣 FT期貨 FD基金 O期權 CB可轉債(v1.2.39),默認E |
| adj | str | N | 復權型別(只針對股票):None未復權 qfq前復權 hfq后復權 , 默認None,目前只支持日線復權, |
| freq | str | Y | 資料頻度 :支持分鐘(min)/日(D)/周(W)/月(M)K線,其中1min表示1分鐘(類推1/5/15/30/60分鐘) ,默認D,對于分鐘資料有600積分用戶可以試用(請求2次),正式權限請在QQ群私信群主或積分管理員, |
| ma | list | N | 均線,支持任意合理int數值,注:均線是動態計算,要設定一定時間范圍才能獲得相應的均線,比如5日均線,開始和結束日期引數跨度必須要超過5日,目前只支持單一個股票提取均線,即需要輸入ts_code引數, |
| factors | list | N | 股票因子(asset='E'有效)支持 tor換手率 vr量比 |
| adjfactor | str | N | 復權因子,在復權資料時,如果此引數為True,回傳的資料中則帶復權因子,默認為False, 該功能從1.2.33版本開始生效 |
獲取平安銀行前復權資料
df = pro.query('daily', adj = 'qfq', ts_code='000001.SZ', start_date='20210701', end_date='20211022')
4 總結
這是最基礎的資料獲取教程,代碼已同步到github,會慢慢更新~
5 Reference
https://github.com/RxxxxR/quantitative_analysis
Tushare大資料社區
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335559.html
標籤:python
