この取引システムは、泊宇量化
私は非常に早い段階から定量戦略の研究に専念するチームのメンバーでした。
昨年、Tokeninsight 定量コンペティションは優れた結果を達成しました。
このようなプラットフォームを提供してくれた FMZ コミュニティにも大変感謝しています。 定量コミュニティの構築をより良くサポートするために、この戦略の設計コンセプトと設計アイデアがここに公開されています。 ここから、定量取引の設計と応用を皆さんが学んでいただければ幸いです。
定量的タイピング速度システムのインスピレーションは主に物理学から来ている 物理学における速度の定義は、単位時間あたりに移動する距離です。 価格を距離とみなすと、金融市場における速度の定義は、単位時間あたりの価格変化の大きさとなります。 価格が一定時間内に大きく変動する場合、そのような市場は通常、急速市場と呼ばれます。価格が一定時間内にほとんど変動しない場合、そのような市場は低速市場と呼ばれます。したがって、速度は時間と価格を組み合わせた自然法則です。速度を深く理解することで、この市場をより深く理解できるようになります。 レートが上昇すると、エネルギーが増加していることを意味し、市場の上昇傾向を効果的に予測できます。 レートが下がれば、それはエネルギー不足を意味し、市場が横ばいまたは下落するリスクが感じられる。 各取引を完了するために一定数のロットが使用されるため、定量パターンレート取引システムと呼ばれます。
最高価格(HHV): 特定の期間に到達した最高価格。 最低価格(LLV): 特定の期間に到達した最低価格。 移動平均(MA) : 特定の期間の平均終値を結んだ線。 回帰傾き (SLOPE): 特定の期間における線形回帰の傾き。 (これをレートと呼びます)
線形方程式 OLS 傾きの式は次のとおりです。
数式は非常に複雑ですが、FMZプラットフォームはすでに文法式を記述しています(SLOPE)
Mai 言語の文法マニュアルを見ると、アルゴリズムは次のようになっていることがわかります。
プロセスは少し複雑ですが、あまり考えすぎる必要はありません。数式を直接呼び出すだけです。
1. まず、一定期間内の最高価格と最低価格を計算します 2. これら2つの価格の平均を取る 3. 平均値の移動平均を計算する 4. 移動平均の回帰勾配を求める
インジケーターの設計を通じてバックテストを実行すると、メインチャートで35サイクルの最高点(黄色の線)が得られることがわかります。
最低点(緑の線)、その平均(赤の線)、および赤の線から計算された平滑化された価格平均(太い紫の線)
次に、移動平均の上昇率と下降率を表す、添付の図の回帰勾配 ss を計算できます。
上の図からわかるように、緑色の矢印は傾きが最も低い変曲点を示し、オレンジ色の矢印は傾きが最も高い変曲点を示しています。 チャートのKラインに反映されているように、上昇の弱まりと下降の弱まりもはっきりと感じられます。 高値を追いかけて高値や安値で売るのではなく、転換点で売買すれば、事前に市場で効果的な操作を行うことができます。
デザインのアイデアは次のとおりです。 上昇傾向は市場の勢いが増していることを意味し、下落が止まるか上昇する可能性があります。 傾斜が下がっているということは、市場の勢いが弱まっており、上昇が止まるか、下降する可能性があることを意味します。
Mai言語を使用して設計された表現は次のとおりです。
これで、このアルゴリズムの設計は完了です。次に、このシステムを使用して、1 年間の状況をバックテストします。
原資産はOKEX四半期契約BTCです。 バックテスト期間は 2019 年 1 月 1 日から現在までで、期間は 1 時間です。 初期アカウントには3 BTCがあり、手数料は50,000です。 取引あたりのロット数を 200 に固定します。
バックテストを通じて、このリターンは比較的スムーズかつ安定していることがわかります。
このバックテストでは、年間を通じて 1,261 件の取引がありました。
推定収入:4.68コイン
年率換算リターンは約140%です。
最大ドローダウン 14%
シャープレシオ0.117。
クリックして戦略をコピーしてください https://www.fmz.com/strategy/183416 上記の共有は私のアイデアとコンテンツの一部です。以下はMai Languageの完全なコードです。 ご参考、ご研究、ご検討のほどよろしくお願いいたします。転載する場合は出典を明記してくださいますようお願いいたします。
(*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;