摘要:我們知道投資是有風險的,那么如何去衡量這個風險呢最大回撤率就是一種直觀的將風險切實量化的指標。最大回撤率計算公式當日收盤價當日之前最高價最高價最低價最高價。顯而易見,最大回撤率越小越好,因為回撤與風險成正比,回撤越大,風險也就越高。
新年伊始,很榮幸筆者的《教你用 Python 進階量化交易》專欄在慕課專欄板塊上線了,歡迎大家訂閱!為了能夠提供給大家更輕松的學(xué)習(xí)過程,筆者在專欄內(nèi)容之外會陸續(xù)推出一些手記來輔助同學(xué)們學(xué)習(xí)本專欄內(nèi)容,因此同學(xué)們無需擔心專欄內(nèi)容在學(xué)習(xí)上的困難,更多的是明確自己學(xué)習(xí)的目的即可。當然筆者也歡迎同學(xué)們踴躍留言,說出自己想擴展的知識點,筆者會根據(jù)同學(xué)們的意愿選擇性的推出一些內(nèi)容。
本次場外篇筆者在專欄《18、股票交易數(shù)據(jù)可視化:買賣區(qū)間下策略收益繪制》的基礎(chǔ)上對策略的最大回撤指標做一定的擴展介紹。最大回撤屬于判斷策略風險高低的指標,用來描述買入股票后,在策略出現(xiàn)最糟糕的情況下會損失多少錢,這也直接關(guān)系到《21、股票交易策略開發(fā):ATR止盈止損風險策略》小節(jié)中對于風險策略中止盈止損因子的設(shè)定。
我們知道投資是有風險的,那么如何去衡量這個風險呢?最大回撤率就是一種直觀的將風險切實量化的指標。最大回撤率計算公式:max(1-當日收盤價/當日之前最高價)*100%【(最高價-最低價)/最高價】。舉個例子,在股票最高價2元買入,近半年內(nèi),股價下跌到最低點1.6元,最大虧損0.4元,那么這近半年最大回撤率=1-1.6/2×100%,結(jié)果是20%。顯而易見,最大回撤率越小越好,因為回撤與風險成正比,回撤越大,風險也就越高。最大回撤的概念雖然直觀,但在程序中到底應(yīng)該怎么實現(xiàn)計算呢?
我們延續(xù)專欄《18、股票交易數(shù)據(jù)可視化:買賣區(qū)間下策略收益繪制》的內(nèi)容,計算浙大網(wǎng)新股價的最大回撤率和應(yīng)用策略后資金曲線的最大回撤率。以計算資金曲線最大回撤率為例,首先使用expanding()?計算資金曲線的滾動最大值,也就是截至當前時間,資金曲線的最大值,圖中的橙色曲線所示。
接著,將資金曲線與資金曲線滾動最大值矢量相除,即得到回撤后資金剩余的百分比,也就是資金曲線在滾動最大值之后剩余資金的百分比,對剩余資金百分比從小到大排序,那么第一行就包含了回撤后資金剩余百分比的最小值,1-資金剩余百分比最小值即為資金曲線最大回撤率。
以下為計算資金曲線最大回撤率實現(xiàn)代碼,同理計算股價曲線最大回撤率與此類同:
#expanding()計算資金曲線當前的滾動最高值 stock_df["max_total"] = stock_df["total"].expanding().max() #計算資金曲線在滾動最高值之后所回撤的百分比 stock_df["per_total"] = stock_df["total"]/stock_df["max_total"] min_point_total = stock_df.sort_values(by=["per_total"]).iloc[[0], stock_df.columns.get_loc("per_total")] max_point_total = stock_df[stock_df.index <= min_point_total.index[0]].sort_values (by=["total"],ascending=False).iloc[[0],stock_df.columns.get_loc("total")] print("最大資金回撤%5.2f%%從%s開始至%s結(jié)束"%((1-min_point_total.values), max_point_total.index[0],min_point_total.index[0]))
最后分別打印出浙大網(wǎng)新股價和資金曲線最大回撤率,以及時間點,并且在圖形上標注。更多的量化交易內(nèi)容歡迎大家訂閱專欄閱讀??!
最大股價回撤 0.53%從2018-04-24 00:00:00開始至2018-10-16 00:00:00結(jié)束
最大資金回撤 0.15%從2018-05-23 00:00:00開始至2018-10-08 00:00:00結(jié)束
更多python量化交易內(nèi)容互動請加微信公眾號:PythonQT-YuanXiao
歡迎訂閱量化交易課程:[鏈接地址]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43152.html
摘要:由于線性回歸作用于股票收盤價的整個周期,因此選擇合適的時間段非常重要。在制定量化交易策略時有一種方式是尋找現(xiàn)象中的特征,根據(jù)特征去生成交易條件。 新年伊始,很榮幸筆者的《教你用 Python 進階量化交易》專欄在慕課專欄板塊上線了,歡迎大家訂閱!為了能夠提供給大家更輕松的學(xué)習(xí)過程,筆者在專欄內(nèi)容之外會陸續(xù)推出一些手記來輔助同學(xué)們學(xué)習(xí)本專欄內(nèi)容,因此同學(xué)們無需擔心專欄內(nèi)容在學(xué)習(xí)上的困難,...
摘要:如果我們把這三個因子都加進去會怎樣呢收益率為倍,沒有剛才那么好了,還是剛才的和凈利潤環(huán)比增長率這兩個因子比較好,那就保留兩個吧。因此,我們可以考慮使用排名的方法,對這些因子進行排名。 導(dǎo)語:每一位寬客都相信,影響股票漲跌的因素不勝枚舉,而這些因素就是因子!本文作為一篇合格的入門教程,提供代碼當做框架,各路寬客可以自己測試,查看收益率,亦可利用聚寬python平臺自行構(gòu)建代碼。 規(guī)范源碼...
摘要:那么我們改變概率這個因子,將它放大到,我們邀請個人參與局看下效果看來結(jié)果還不錯,只要增加盈利的概率,就可以在市場中獲得收益,這就是量化交易的魅力管理概率理性交易。 在《Python實戰(zhàn)-構(gòu)建基于股票的量化交易系統(tǒng)》小冊子中,我們以股票為交易標的講解量化交易的學(xué)習(xí),主要原因是股票的風險和收益介于期貨和基金之間。期貨一方面加了杠桿,另一方面走勢變化非常迅速,稍有不慎有可能血本無歸,這不太適...
摘要:最近研究量化交易,看了幾個回測的框架,最后盯上這個項目。所以對這個框架進行了一番研究。比如的設(shè)計,也是采用事件回調(diào)來計算指標或者進行交易。在的科學(xué)計算框架體系中,是核心,其核心的數(shù)據(jù)結(jié)構(gòu)也被廣泛使用于其他數(shù)據(jù)分析框架之中。 最近研究量化交易,看了幾個回測的框架,最后盯上PyAlgoTrade這個項目。感覺很不錯,支持 策略回測和實盤交易,提供全面的技術(shù)分析接口,算是python的量化交...
閱讀 489·2019-08-30 15:44
閱讀 903·2019-08-30 10:55
閱讀 2737·2019-08-29 15:16
閱讀 942·2019-08-29 13:17
閱讀 2811·2019-08-26 13:27
閱讀 578·2019-08-26 11:53
閱讀 2125·2019-08-23 18:31
閱讀 1893·2019-08-23 18:23