當(dāng)我在一家投資管理公司擔(dān)任系統(tǒng)開發(fā)工程師時,我了解到要在定量金融領(lǐng)域取得成功,您需要在數(shù)學(xué),編程和數(shù)據(jù)分析方面表現(xiàn)出色。
可以將算法或定量交易定義為設(shè)計和開發(fā)統(tǒng)計和數(shù)學(xué)交易策略的過程。這是一個極其復(fù)雜的金融領(lǐng)域。
因此,問題是您如何開始進行算法交易?我將向您介紹五個應(yīng)該學(xué)習(xí)的基本主題,以便為進入這個迷人的交易世界鋪平道路。我個人更喜歡Python,因為它提供了適當(dāng)程度的自定義,開發(fā)的簡便性和速度,測試框架以及執(zhí)行速度。因此,所有這些主題都集中在Python for Trading上。
1.學(xué)習(xí)Python編程
為了使數(shù)據(jù)科學(xué)事業(yè)蒸蒸日上,您需要扎實的基礎(chǔ)知識。無論選擇哪種語言,都應(yīng)該徹底理解該語言的某些主題。這是您應(yīng)該在Python生態(tài)系統(tǒng)中掌握的數(shù)據(jù)科學(xué)知識:
環(huán)境設(shè)置?——包括創(chuàng)建虛擬環(huán)境,安裝所需的軟件包以及使用Jupyter Notebook或Google colabs。
數(shù)據(jù)結(jié)構(gòu)?——一些最重要的pythonic數(shù)據(jù)結(jié)構(gòu)是列表,字典,NumPy數(shù)組,元組和集合。我在鏈接的文章中收集了一些示例,供您學(xué)習(xí)。
面向?qū)ο蟮木幊獭鳛槎糠治鋈藛T,您應(yīng)該確保自己擅長編寫定義了適當(dāng)類的結(jié)構(gòu)良好的代碼。在使用諸如Pandas,NumPy,SciPy等外部包時,您必須學(xué)會使用對象及其方法。
2.了解如何處理財務(wù)數(shù)據(jù)
數(shù)據(jù)分析是財務(wù)的關(guān)鍵部分。除了學(xué)習(xí)使用Pandas處理數(shù)據(jù)框外,在處理交易數(shù)據(jù)時還應(yīng)注意一些特定主題。
如何使用Pandas探索數(shù)據(jù)
毫無疑問,Pandas是Python數(shù)據(jù)科學(xué)堆棧中最重要的軟件包之一。您可以使用軟件包中定義的功能完成幾乎所有主要任務(wù)。專注于創(chuàng)造dataframes,過濾(loc,iloc,query),描述性統(tǒng)計(摘要),加入/合并,分組,和子集。
如何處理時間序列數(shù)據(jù)
交易數(shù)據(jù)全部與時間序列分析有關(guān)。您應(yīng)該學(xué)習(xí)重新采樣數(shù)據(jù)或重新索引數(shù)據(jù),以將數(shù)據(jù)頻率從幾分鐘更改為幾小時,或者從一天的OHLC數(shù)據(jù)更改為一周的結(jié)束數(shù)據(jù)。例如,您可以使用重采樣功能將1分鐘時間序列轉(zhuǎn)換為3分鐘時間序列數(shù)據(jù):
df_3min = df_1min.resample(‘3Min’, label=‘left’).agg({‘OPEN’: ‘first’, ‘HIGH’: ‘max’, ‘LOW’: ‘min’, ‘CLOSE’: ‘last’})
3.如何編寫基本交易算法
從事定量金融工作需要對統(tǒng)計假設(shè)檢驗和數(shù)學(xué)有深入的了解。掌握多元演算,線性代數(shù),概率論等概念將有助于您為設(shè)計和編寫算法奠定良好的基礎(chǔ)。您可以從計算股票價格數(shù)據(jù)的移動平均值開始,編寫簡單的算法策略(例如移動平均交叉或均值回歸策略)并了解相對強度交易。在實踐和理解基本統(tǒng)計算法如何工作這一小而重要的飛躍之后,您可以研究機器學(xué)習(xí)技術(shù)的更復(fù)雜領(lǐng)域。這些要求對統(tǒng)計和數(shù)學(xué)有更深入的了解。您可以從兩本書開始:《定量交易:如何建立自己的算法交易業(yè)務(wù)》—Ernest Chan博士《關(guān)于算法交易和DMA的書》—巴里·約翰遜(Barry Johnson)
4.了解回測
一旦完成交易策略的編碼,就不能簡單地用實際資金在真實市場中對其進行檢驗,對嗎?下一步是將該策略暴露于歷史交易數(shù)據(jù)流中,這將生成交易信號。然后,已執(zhí)行的交易將產(chǎn)生相關(guān)的損益(P&L),所有交易的累加將為您提供總的P&L。這稱為回測?;販y要求您精通許多領(lǐng)域,例如數(shù)學(xué),統(tǒng)計,軟件工程和市場微觀結(jié)構(gòu)。您應(yīng)該學(xué)習(xí)以下一些概念,以對回測有一個體面的了解:
您可以從了解技術(shù)指標開始。探索名為TA_Lib的Python包以使用這些指示符。
使用拋物線SAR等動量指標,并嘗試計算交易成本和滑點。
學(xué)習(xí)繪制戰(zhàn)略累計收益并研究戰(zhàn)略的總體績效。
影響回測性能的一個非常重要的概念是偏差。您應(yīng)該了解優(yōu)化偏見,前瞻性偏見,心理寬容和生存傾向。
5.績效指標-如何評估交易策略
能夠簡潔地說明您的策略對您很重要。如果您不了解自己的策略,那么任何外部修改法規(guī)或政權(quán)轉(zhuǎn)移的機會都有,您的策略將開始表現(xiàn)異常。一旦您自信地理解了該策略,以下性能指標就可以幫助您了解該策略的實際優(yōu)缺點:
夏普比率?-啟發(fā)式地描述策略的風(fēng)險/回報比率。它量化了您可以通過股本曲線經(jīng)歷的波動水平所獲得的收益。
波動性?-量化與策略相關(guān)的“風(fēng)險”。夏普比率也體現(xiàn)了這一特征?;A(chǔ)資產(chǎn)的較高波動性通常會導(dǎo)致股票曲線中的較高風(fēng)險,并導(dǎo)致較小的夏普比率。
最大跌幅?-策略權(quán)益曲線上最大的峰谷整體下降百分比。由于最大回落受其影響,通常會結(jié)合動量策略進行研究。學(xué)習(xí)使用numpy庫進行計算。
容量/流動性?-確定策略可擴展性以增加資本。當(dāng)戰(zhàn)略增加資本配置時,許多基金和投資管理公司會遭受這些能力問題的困擾。
CAGR-?衡量策略在一段時間內(nèi)的平均增長率。它的計算公式為:(累計策略收益)^(252 /交易日數(shù))— 1
責(zé)編AJX
-
算法
+關(guān)注
關(guān)注
23文章
4607瀏覽量
92840 -
金融
+關(guān)注
關(guān)注
3文章
426瀏覽量
15912 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84628
發(fā)布評論請先 登錄
相關(guān)推薦
評論