用Python實現價格動量分析的量化交易策略

2022-06-06 20:57:10 字數 2447 閱讀 3152

**動量交易策略簡介

動量交易策略通過一定時期內開盤價、最**、以及最低價之間的關係,來分析多空力量的對比,間接能了解當前市場多空雙方力量的分布情況。分析**波動,達到追蹤**未來動向的目的。

**動量分析在傳統手工炒單中有大量的運用,特別是對於判定日內單邊趨勢有很大的幫助,老生常談的話題,什麼是順勢而為,對於順勢最好的量化就是多空雙方力量的對比的量化,**動量分析是最好的指標之一。

本文將採用此策略在火幣網上進行乙個數字貨幣現貨自動化交易程式的開發。

**動量的計算公式

ar = [n天所有(

high-open

)的和/ n

天所有(

open—low

)的和] * 100

這其中:

**動量的使用方法

**動量在一段時間內,反應了開盤價在最**和最低價之間的位子,這個位置就是我們判斷雙方力量拉鋸的依據。

注意:以上數字皆是預設數值,絕非真理定式。在真正交易的過程中,我們要隨著**的變化,除錯這個區間以適應當下的**狀態。

用python實現**動量的量化交易策略

老規矩,我們開啟,

fmz.com

, 登陸賬戶,點選控制中心,部署託管者和機械人。

關於如何部署託管者和機械人,請參考我之前的文章:

想購買自己雲計算伺服器部署託管者的讀者,可以參考這篇文章:

接下來,我們點選左側欄目當中的策略庫,點選新建策略

。在編寫策略頁面右上角記得選擇程式語言為

python

,如圖:

接下來我們把

python

**寫入**編輯頁面中,下面的**,有著非常詳細的逐行注釋,各位讀者可以慢慢理解和體會,更重要的是,雖然本策略是根據現貨交易來寫的,但是以下**的擴充套件性方面也考慮到了**交易,感興趣的讀者可以嘗試把以下**改寫成**交易,策略本身的邏輯是通用的。在發明者量化平台,我們已經為大家注備好了各大現貨和**交易所的

api介面,所以改寫工作將會非常的輕鬆和方便。

我們就用火幣網的位元幣現貨為交易標的,開始實現這個策略把:

策略回測

寫完策略後,我們首先要做的就是回測它,看它在歷史資料中表現如何,但是請各位讀者千萬注意,回測的結果不等於未來的預判,回測只能作為一種參考資訊來考慮我們的策略有效性。一旦市場發生變化,策略開始有大的虧損出現,我們應該及時去發現問題,然後改變策略以適應新的市場環境,比如上文提到的閥值,如果策略出現大於百分之10的虧損,我們就應該馬上停止策略執行,然後查詢問題,可以先從調節閥值開始入手。

點選策略編輯頁面中的模擬回測,在回測頁面,引數的調節可以根據需求的不同,進行方便快捷的除錯,特別是對於邏輯複雜,引數眾多的策略,不用再回去原始碼,進行逐個修改。

回測時間我們選最近乙個月的,點選新增火幣現貨交易所,

btc交易標的。

檢視回測結果

可以看到,此策略在本月的回測中,表現不錯。

**動量策略的優缺點

相比於一些其他傳統技術指標,**動量的優點是它使用的不是單一開盤價或**價,而是引入了最**和最低價。對它們進行了動態的比較,通過**日內的波動,使得市場資訊更全面,反應更迅速,也更加巨集觀。

獨立使用**動量值來判斷**是否過高或低,來判斷做多/做空,很有可能會在一波大趨勢中過早下車,或者在一波大跌市中過早**。總體來講,此策略仍然屬於一種**有效性策略。

策略的閾值設定也需要根據交易標的的特性來決定。數字貨幣市場**起伏都比較大,交易量巨大,特別是主流幣種如位元幣上,又沒有漲跌幅限制,所以閥值比傳統**市場要高,80超賣線,通常很難觸碰到,產生**訊號較少;而

170的超買線又經常處於閥值之下,賣出訊號卻被頻繁觸發。這會造成策略執行時大部分時間處於空倉狀態,資金利用率變得很低。如今年一月份以來,位元幣一波大牛市**中,**從

3500

最高漲到了接近

13000

。閥值在很早就穿越了

170線,之後一直處於高位。如果我們按照傳統的

170超買線賣出,大概在**

5000

的時候就下了車,之後一直沒有開倉訊號,一波大牛市只賺了很少部分。

因此,這市場從來沒有什麼聖杯交易策略,可以不用回測,不用除錯,就永遠賺錢的策略。我們量化交易者和主觀交易者一樣,最終都是殊途同歸,需要根據市場的變化,因地制宜,以萬變應萬變,遇到策略無效的時候,需要及時調整。

有問題的朋友可以到

帝國cms自定義字段實現價格區域範圍篩選的方法

很多站長在建站的時候往往需要根據一定的範圍來查詢顯示結果,程式設計客棧本文就以帝國cms自定義字段實現 區域範圍篩選來講述實現這一功能的方法。具體步驟如下 自定義欄位gprice,且在模型裡,必須勾選該字段為結合項。四個預設欄位mid是模型id,classid是欄目id,tempid是列表所使用的模...

用python進行位元幣價格擇時分析

或者按此文的 獲取 本文的原始碼位址為 密碼 cti9 大致趨勢 圖一為成交量,圖二為 1.單因子分析 1.1 rsi 相對強弱指數 源 見 1.py rsi 金叉以及rsi 30時,判斷為 點 後調整引數為40 rsi 死叉以及rsi 70時,判斷為賣出點 以紅點為 點,黑點為賣出點,得到交易圖 ...

用python實現SYN Flooding攻擊

作業裡的 直接這裡copy在這裡記錄一下。在tcp ip協議中,當客戶端試著與伺服器間建立tcp連線時,正常情況下客戶端與伺服器端進行tcp三次握手 1.客戶端通過傳送syn同步 synchronize 資訊到伺服器要求建立連線。2.伺服器通過響應客戶端syn ack以抄收 acknowledge ...