# Kelly-Based Options Trading Strategies on Settlement Date via Supervised Learning Algorithms ## :memo: introduction **1.試圖通過資金管理和機器學習建立一個期權交易系統,利用機器學習來預測勝率,並且採用money management module of Kelly criterion to obtain the optimal bidding fraction. 2.結果表明隨機森林和SVM有更強大的預測能力,且還採用ensemble learning algorithm 提升預測能力 enhance the predicting power. 3.profit factor of 2.429 and a Sharpe ratio of 1.227. 4.期權策略能夠產生正的利潤,且資金管理能夠很好的控制風險,且ensemble learning algorithm能夠提升交易性能** [論文來源](https://drive.google.com/file/d/1saciWdcPH3gtECxOAswdY7vJsr-u6W_k/view?usp=sharing) 附註: 1.Kelly criterion:是一種根據賭博贏或輸的機率,計算出每次下注的資金占所有賭本的最佳比例的公式,使長期對數資產最大化,**<font color="#f00">注意凱利公式只對有利可圖的遊戲建議正的出價公式**</font> https://read01.com/mzmQMk6.html 證明:  2.[ensemble learning algorithm](https://www.geeksforgeeks.org/ensemble-methods-in-python/): 1.[voting](https://www.youtube.com/watch?v=tY0qL2Fz7TE&list=PLy7MS-q4l3xC1UbPAhuIRrStZuKV-xaPR&index=9&ab_channel=PyInvest) 2.[boosting]( https://www.youtube.com/watch?v=rFiRogsN670&list=PLy7MS-q4l3xC1UbPAhuIRrStZuKV-xaPR&index=8&ab_channel=PyInvest) --- ### 簡介 **1.資金管理是交易系統中不可缺少的一部分,大多數投資者往往注重篩選股票和準確預測進出場點,不習慣考慮交易的資金和倉位大小,但往往資金管理才是獲得整體業績穩定提升的關鍵 2.具體的說,考慮了盈利能力與風險之間的權衡,並希望在風險可控的情況下擴大盈利能力 3.由於期權可以能透過多種期權組合來控制風險與利潤,接近傳統賭博的固定賠率,故如果能夠準確估計勝率和賠率,那就能利用凱利公式來管理資金 4.<font color="#f00">先設計一個確定賠率的期權交易策略,並利用機器學習來預測勝率,再利用凱利公式確定投資期權的比例</font> 5.<font color="#f00">此論文只考慮買入期權(對於投資者來說較為容易)</font>**  6.Literatures (Figlewski & Frommherz, 2017; Wu, 2019) **證實結算日波動較大(相較於現貨價)** 7.(Chan et al., 2015).**發現股票期權的交易量與與絕對累積異常收益越高正相關** 8.example, Markusson and Ohlsson (2017)**將凱利公式運用在瑞典股市市場,收益率為同期市值的五倍** --- ### 機器學習 1.<font color="#f00">KNN</font>:**利用未知樣本和未知樣本之間的特徵距離,找到最接近已知樣本來確定為知樣本的類別,優點為對異常直不敏感且對小樣本的穩健預測** 2.<font color="#f00">SVM</font> 3.<font color="#f00">隨機森林</font>:**具有更強的泛化和分類能力,可以處理大量特徵,並評估其重要性,且對於缺失數值有一個潛在估計方法,當有大量缺失值時,可以糾正錯誤保持準確性,以及在高為數據處理時,隨機森林沒有必要進行特徵選擇,因為特徵子集是隨機選擇的,因此不會錯確認和特徵資訊** 4.<font color="#f00">Naive Bayes</font>:**假設特徵之間有很強的獨立性時,他關注特徵的機率和統計量,並結合特徵來確定分類,被廣泛運用在文檔分類和檢索((Jadhav & Channe, 2016).在特定tasks中比其他機器學習演算法)** 5.<font color="#f00">Ensemble Learning</font>:**bagging通過隊訓練樣本重複抽樣訓練出多的模型,根據這些眉形對結果進行平均,優點是減少離群點的負面作用,不過可能會因為忽略離群點而增加預測模型的不確定性** --- ## 方法論 1.<font color="#f00">此交易系統只考慮買入看漲期權或看跌期權,這取決於哪個更有利可圖</font>  2.此系統利用結算前一小時的期權價格來檢測價格是否翻倍,這些特徵構成了機器學習的數據集(7:3)  3.特徵提取方面此系統利用幾個技術指標作為特徵,包括<font color="#f00">MA、RSI、KD、CCI、MACD、volatility, and trading volume of the underlying target (TAIEX)</font>(The list of technical indicators is provided by Aldin et al. (2012), and they had outstanding performance in predicting TEPIX in Tehran with these indicators.) 4.**策略為結算日前一小時買入期權,並限制利潤,如果期權價格上升到雙倍,賠率為1,並以收盤價賣出期權,如果沒有上升到雙倍,一樣賣出,獲得期權的剩餘價值,<font color="#f00">策略有兩元結果,為雙倍(贏),何不雙倍(輸),並限制贏的情況賠率為一</font>** 5.不同預測模型在同一個數據集中不會犯同樣的錯誤,在勝率預測中,為了找到一個穩定且精確的模型,在各個情況都能有良好的精確的模型,故使用ensemble learning algorithm,實現互補的效果,**此論文使用2ML(隨機森林和SVM),4ML(全部模型),勝率為各個模型加總平均**  舉例:  ## 實驗結果 訓練集:2018/1/3~2019/2/10 測試集:2019/1/3~2019/9/25 **忽略所有交易費用** 1.基準為隨機猜測方法為基準,隨機買入一個看漲或看跌期權,預測收益和sharpe ratio為0,PF為1    2.**隨機森林在在<font color="#f00">看漲期權</font>(共33周,故總共為33),<font color="#f00">獲得了8個臨界錯誤</font>(意即預測會翻被但實際並沒有),<font color="#f00">故為看漲期權預測中表現最好</font>** 3.**SVM在<font color="#f00">看跌期權</font>中33個預測中獲得3個臨界錯誤,為看跌最佳表現**  4.**在預測看漲期勝率時,隨機森林表現最好、看跌期權為SVM最優秀** 5.**但預測準確性並不能代表實際的交易表現,預測勝率的大小會影響資金管理的投資比例,勝率越高意為比例越高,因此準確度不能完全代表交易表現,仍取決於投資比例與資金管理模塊** --- ## 系統的交易性和資金管理 前提假設:假設投資者有400000新台幣,每次(結算日)投資10000新台幣,當資金管理運用時,投資10000*最佳投資比例(根據公式) **衡量績效:利潤係數、最大跌幅、sharpe ratio**     1.**<font color="#f00">隨機森林</font>:在沒有資金管理的情況下,交易系統存在巨大的損失(近40000新台幣,為資產的10%),實施資金管理後,MDD下降了85%,並提高0.331的PF和0.189的sharpe,也優於基準策略 ratio** 2.**<font color="#f00">SVM</font>:在沒有資金管理的情況下,交易系統存在巨大的損失(近60000新台幣,為資產的15%),並以負利潤結束,實施資金管理後,MDD下降90%,並提高1.584的PF和2.036的sharpe ratio,資金管理在SVM中有顯著進步,它轉虧為盈,最終獲利大於隨機森林,也優於基準策略** ### 使用ensemble learning algorithm  1.**4ML的交易性能不如2ML,4ML權益曲線波定性相對較大,盈利能力較差,2ML的PF為2.429,MDD為2730,sharpe ratio為1.227,皆優於4ML,可能因為2ML結合兩種最好的演算法** 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up