小白量化學習(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
微信公衆號:獨狼股票分析