Ce système de trading est fourni par泊宇量化
J’ai fait partie très tôt d’une équipe qui s’est consacrée à la recherche de stratégies quantitatives.
L’année dernière, le concours quantitatif Tokeninsight a obtenu d’excellents résultats.
Je suis également très reconnaissant à la communauté FMZ de fournir une telle plateforme. Afin de mieux soutenir la construction de la communauté quantitative, le concept de conception et les idées de conception de cette stratégie sont désormais publiés publiquement ici. J’espère que tout le monde pourra en tirer des enseignements sur la conception et l’application du trading quantitatif.
L’inspiration du système de taux de frappe quantitatif vient principalement de la physique La définition de la vitesse en physique est : la distance parcourue par unité de temps. Si le prix est considéré comme une distance, alors sur le marché financier, la définition de la vitesse est l’ampleur du changement de prix par unité de temps. Si le prix change fortement dans une unité de temps, un tel marché est généralement appelé marché rapide ; si le prix change très peu dans une unité de temps, un tel marché est appelé marché lent. La vitesse est donc la loi naturelle qui combine le temps et le prix. Grâce à une compréhension approfondie de la vitesse, nous pouvons nous aider à mieux comprendre ce marché. Si le taux augmente, cela signifie que l’énergie augmente, ce qui peut prédire efficacement la tendance à la hausse du marché. Si le taux diminue, cela signifie une panne énergétique et le risque d’un marché stagnant ou en baisse peut être pressenti. Un certain nombre de lots sont utilisés pour réaliser chaque transaction, c’est pourquoi on parle de système de trading à taux de change quantitatif.
Prix le plus élevé (HHV):Le prix le plus élevé atteint pendant une période donnée. Prix le plus bas (LLV):Le prix le plus bas atteint pendant une période donnée. Moyenne mobile (MM) :Une ligne reliant les cours de clôture moyens d’une période donnée. Pente de régression (SLOPE):La pente de la régression linéaire pour une période spécifique. (C’est ce qu’on appelle le taux)
La formule de la pente de l’équation linéaire MCO est la suivante :
La formule mathématique est très compliquée, mais la plateforme FMZ a déjà écrit la formule grammaticale pour nous (SLOPE)
Nous regardons le manuel de grammaire de la langue Mai et voyons que l’algorithme est le suivant :
Le processus est un peu compliqué, mais vous n’avez pas besoin d’y réfléchir trop. Il suffit d’appeler directement la formule.
1. Calculez d’abord les prix les plus élevés et les plus bas sur une certaine période de temps 2. Prenez la moyenne de ces deux prix 3. Calculer une moyenne mobile de la moyenne 4. Trouvez la pente de régression de la moyenne mobile
Grâce à la conception de l’indicateur, nous exécutons un backtest et pouvons voir que dans le graphique principal, nous obtenons le point le plus élevé de 35 cycles (ligne jaune),
Les points les plus bas (ligne verte), leur moyenne (ligne rouge) et la moyenne des prix lissée calculée à partir de la ligne rouge (ligne violette épaisse)
Nous pouvons ensuite calculer la pente de régression ss dans la figure ci-jointe, qui représente le taux de montée et de descente de la moyenne mobile.
Comme on peut le voir sur la figure ci-dessus, les flèches vertes indiquent les points d’inflexion où la pente est la plus faible, et les flèches orange indiquent les points d’inflexion où la pente est la plus élevée. Comme le reflète la ligne K du graphique, nous pouvons également clairement ressentir l’affaiblissement de la hausse et l’affaiblissement de la baisse. Si vous achetez et vendez aux points de retournement, vous pouvez effectuer des opérations efficaces sur le marché à l’avance, plutôt que de courir après les sommets et de vendre les creux aux sommets ou aux creux.
L’idée de conception est : La pente ascendante signifie que la dynamique du marché augmente, ce qui peut conduire à un arrêt de la baisse ou à une augmentation. La pente décroissante signifie que la dynamique du marché s’affaiblit et qu’elle peut cesser de monter ou de baisser.
L’expression conçue à l’aide de la langue Mai est la suivante :
De cette façon, nous avons terminé la conception de cet algorithme. Ensuite, nous utiliserons le système pour tester la situation pendant un an.
L’actif sous-jacent est le contrat trimestriel OKEX BTC ; La période de backtest s’étend du 1er janvier 2019 à aujourd’hui, avec une durée d’une heure ; Le compte initial dispose de 3 BTC et les frais de traitement sont de 50 000 ; Fixez le nombre de lots par transaction à 200.
Grâce aux backtests, nous pouvons constater que ce rendement est relativement régulier et stable.
Dans ce backtest, il y a eu 1 261 transactions tout au long de l’année ;
Revenu estimé : 4,68 pièces ;
Le rendement annualisé est d’environ 140 % ;
Retrait maximal de 14 % ;
Ratio de Sharpe 0,117.
Cliquez pour copier la stratégie https://www.fmz.com/strategy/183416 Le partage ci-dessus contient certaines de mes idées et contenus. Ce qui suit est le code complet de Mai Language. Pour votre référence, étude et recherche. Si vous souhaitez réimprimer, veuillez indiquer la source, merci.
(*backtest
start: 2019-01-01 00:00:00
end: 2020-02-03 00:00:00
period: 1h
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"}]
args: [["TradeAmount",200,126961],["ContractType","quarter",126961]]
*)
len:=35;//设计周期数
hh^^HHV(H,len);//取一定周期内的最高价
ll^^LLV(L,len);//取一定周期内的最低价
hl2^^(hh+ll)/2;//最高价、最低价的平均值
avg^^MA(hl2,5);//对平均值计算平滑移动均线
ss:SLOPE(avg,len);// 对均线计算回归斜率
ss<REF(ss,1),SPK;//当斜率变小说明行情动能减弱,有下跌趋势,平多做空
ss>REF(ss,1),BPK;//当斜率变大说明行情动能不断增加,有上升趋势,平空做多
AUTOFILTER;