美股量化交易回測(cè)學(xué)習(xí)筆記00-數(shù)據(jù)篇

圖片來(lái)自網(wǎng)絡(luò)

現(xiàn)在很多客戶端提供市場(chǎng)數(shù)據(jù),但只能作為觀看同诫,并不能做深入分析。另一方面樟澜,量化分析越來(lái)越火熱的今日误窖。分享自己的量化回測(cè)筆記。

既然要開始本地量化回測(cè)秩贰。首先是要有一個(gè)完整的行情數(shù)據(jù)霹俺。為了方便本教程。筆者選擇美股市場(chǎng)上的一支股票來(lái)快速的開始量化策略分析毒费。

行情數(shù)據(jù)獲取

我們使用pytdx來(lái)獲取美股的歷史行情數(shù)據(jù)
pytdx是一個(gè)github的開源項(xiàng)目丙唧,通過(guò)訪問(wèn)通達(dá)信的行情服務(wù)器來(lái)獲取美股市場(chǎng)數(shù)據(jù)。

1. 安裝pytdx

筆者使用python2.7并且安裝Anaconda包管理工具

pip install pytdx

2. 獲取數(shù)據(jù)

a.可以通過(guò)獲取市場(chǎng)列表來(lái)選擇你想要獲取的行情觅玻,這里筆者選擇美股知名公司
markets = api.get_markets()
api.to_df(markets)

得到的市場(chǎng)如下(節(jié)選):

market name short_name
1 臨時(shí)股 TP
4 鄭州商品期權(quán) OZ
5 大連商品期權(quán) OD
6 上海商品期權(quán) OS
8 上海個(gè)股期權(quán) QQ
10 基本匯率 FE
11 交叉匯率 FX
31 香港主板 KH
40 中國(guó)概念股 CH
41 美股知名公司 MG
b.通過(guò)市場(chǎng)過(guò)濾想际,得到美股代碼
df_inst = api.to_df(insts)
df_inst[df_inst['market'] == 41]

得到結(jié)果如下:


知名美股列表
c.獲取歷史日K線數(shù)據(jù)
from pytdx.params import TDXParams
his_kline = api.get_instrument_bars(TDXParams.KLINE_TYPE_DAILY, 40, "AAPL", 0, 300)
api.to_df(his_kline)
d.取日線,劃張價(jià)格走勢(shì)圖(APPL-demo.csv)
import matplotlib.pyplot as plt
import datetime

def format(date):
    return datetime.datetime.strptime(str(date), "%Y%m%d")
df = datadf
df['time'] = df['year'] * 10000 + df['month'] * 100 + df['day']
plt.plot(df['time'].apply(lambda x : format(x)), df['close'])
蘋果300天歷史K線數(shù)據(jù)
e.保存為csv格式
#保存為csv格式,命名為APPL-demo/按照逗號(hào)分隔
datadf.to_csv(r'./APPL-demo.csv',index=False,sep=',')

至此獲取任意股票的歷史行情的教程到此結(jié)束培漏。下一篇開始講述量化回測(cè)

f.獲取數(shù)據(jù)完整代碼附上(spider.py)

(代碼未經(jīng)過(guò)優(yōu)化處理,需要解決通信達(dá)超時(shí)重連問(wèn)題胡本,如需要自動(dòng)化下載移步Githut)

#spider.py
from pytdx.exhq import TdxExHq_API
from pytdx.params import TDXParams
import pandas as pd
api = TdxExHq_API(heartbeat=True)
host = "180.153.18.176" #通信達(dá)的api地址
port = 7721 #通信達(dá)的連接端口
#開始連接通信達(dá)服務(wù)器
api.connect(host, port)
insts = []
count = 500
curr_index = 0
while (True) :
    insts_tmp = api.get_instrument_info(curr_index, count)
    if insts_tmp is None:
        break
    insts.extend(insts_tmp)
    curr_index = curr_index + len(insts_tmp)
    if len(insts_tmp) < count:
        break
#查看通信達(dá)提供的市場(chǎng)列表
#print api.to_df(api.get_markets())
df_inst = api.to_df(insts)
#這里筆者選擇的美國(guó)知名公司列表, 所以market = 41
df_inst[df_inst['market'] == 41]
#這里教程獲取AAPL單一數(shù)據(jù)共啃,如果需要全部數(shù)據(jù)可以使用列表循環(huán)下載整個(gè)數(shù)據(jù)
#筆者獲取的是蘋果公司最近300天交易日行情Day版
his_kline = api.get_instrument_bars(TDXParams.KLINE_TYPE_DAILY, 41, "AAPL", 0, 300)
datadf = api.to_df(his_kline)
#保存為csv格式,命名為APPL-demo/按照逗號(hào)分隔
datadf.to_csv(r'./APPL-demo.csv',index=False,sep=',')

轉(zhuǎn)載連接
pytdx官方說(shuō)明文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市汰蓉,隨后出現(xiàn)的幾起案子酗昼,更是在濱河造成了極大的恐慌,老刑警劉巖闺骚,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彩扔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡僻爽,警方通過(guò)查閱死者的電腦和手機(jī)虫碉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胸梆,“玉大人敦捧,你說(shuō)我怎么就攤上這事∨鼍担” “怎么了兢卵?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)绪颖。 經(jīng)常有香客問(wèn)我秽荤,道長(zhǎng),這世上最難降的妖魔是什么柠横? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任窃款,我火速辦了婚禮,結(jié)果婚禮上牍氛,老公的妹妹穿的比我還像新娘晨继。我一直安慰自己,他們只是感情好搬俊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布紊扬。 她就那樣靜靜地躺著,像睡著了一般唉擂。 火紅的嫁衣襯著肌膚如雪餐屎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天楔敌,我揣著相機(jī)與錄音啤挎,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛庆聘,可吹牛的內(nèi)容都是我干的胜臊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼伙判,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼象对!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宴抚,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤勒魔,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后菇曲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冠绢,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年常潮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弟胀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喊式,死狀恐怖孵户,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岔留,我是刑警寧澤夏哭,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站献联,受9級(jí)特大地震影響竖配,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜里逆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一械念、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧运悲,春花似錦、人聲如沸项钮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)烁巫。三九已至署隘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亚隙,已是汗流浹背磁餐。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诊霹。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓羞延,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親脾还。 傳聞我的和親對(duì)象是個(gè)殘疾皇子伴箩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容