小白量化學習(5)建立本地股票資料庫
為了友善本地離線學習回測,可以在本地建立xbdata目錄,存放股票資料。
一、本地建立xbdata目錄
為了友善本地離線學習回測,可以在本地建立xbdata目錄,存放股票資料。
例如: C:\xbdata。
不要把資料和程式放到一個目錄中,這樣無法及時備份自己的程式了。
二、可以在網盤中下載下傳1991-2018年的股票資料
網盤下載下傳連結如下:
https://pan.baidu.com/s/1jxSaB8JzOu6hNvFipqfGzQ
三、引入子產品HP_data
在HP_data子產品中,我們仿造了get_k_data()函數。
是以在程式中。
import HP_data as ts
替換下面這句,就可以脫機學習了。
import tushare as ts
get_k_data()函數定義如下,ss是股票代碼。
def get_k_data(ss,ktype=‘D’,start=‘1991-01-01’,end=‘2018-10-15’,
index=False,autype=‘qfq’)
四、下載下傳tushare股票資料
[data_ts_all2.py]下載下傳全部指數資料。
[data_ts_all3.py]下載下傳全部股票資料資料。
下載下傳全部股票資料資料程式在小白量化群(524949939)中下載下傳。
五、使用前面KDJ名額的離線資料示例
# -*- coding: utf-8 -*-
# KDJ名額離線資料示範
import numpy as np
import pandas as pd
from HP_formula import *
#import tushare as ts
import HP_data as ts
def KDJ(N=9, M1=3, M2=3):
RSV = (CLOSE - LLV(LOW, N)) / (HHV(HIGH, N) - LLV(LOW, N)) * 100
K = SMA(RSV,M1,1)
D = SMA(K,M2,1)
J = 3*K-2*D
return K, D, J
#首先要對資料預處理
df = ts.get_k_data('600080',ktype='D')
mydf=df.copy()
CLOSE=mydf['close']
LOW=mydf['low']
HIGH=mydf['high']
OPEN=mydf['open']
VOL=mydf['volume']
C=mydf['close']
L=mydf['low']
H=mydf['high']
O=mydf['open']
V=mydf['volume']
k,d,j=KDJ()
mydf = mydf.join(pd.Series( k,name='K'))
mydf = mydf.join(pd.Series( d,name='D'))
mydf = mydf.join(pd.Series( j,name='J'))
mydf['S80']=80 #增加上軌80軌迹線
mydf['X20']=20 #增加下軌20軌迹線
mydf=mydf.tail(100) #顯示最後100條資料線
#下面是繪線語句
mydf.S80.plot.line()
mydf.X20.plot.line()
mydf.K.plot.line(legend=True)
mydf.D.plot.line(legend=True)
mydf.J.plot.line(legend=True)
#--------------------------------
建議申請聚寬免費帳戶,可以擷取期貨資料.通過下面網址申請,免費資料量翻倍.申請網址如下:
https://www.joinquant.com/default/index/sdk?channelId=11ab957b5b19ebc3302ee864cee476b
獨狼荷蒲qq:2775205
小白量化群:524949939
微信公衆号:獨狼股票分析