発明者による量化取引の紹介 - 基礎から実戦まで

作者: リン・ハーン優しさ作成日:2019年6月25日 15:48:58 更新日:2023年10月31日 21:01:08

[TOC]

img

カタログ

第1章 取引の量化基盤

1.1 量化取引とは何か

概要

量化取引は科学と機械の組み合わせの産物として,現代金融市場の格局を変えている. 現在,多くの投資家がこの分野に目を向けている. リスクを最大限に軽減し,理想的な利益を得るためにどうすればよいか.

概要

量化取引は,高級な雰囲気,一晩で富を手に入れる.人工知能の時代,深層学習,ビッグデータ,クラウドコンピューティングなどの高度なテクノロジーの出現とともに,神秘的な色彩を与えています.量化取引を使用すれば,完璧な完全な取引戦略を構築することができます.

実際,ある程度,量化取引は神話になっている. 取引を放置して,量化化は,コンピュータを使って,統計,数学などの方法を使用して,科学的な投資システムを使用して,期待される取引信号システムを見つけることである. この信号システムは,私たちが何時に何価格で購入すべきかを教えてくれる.

量化取引の発展

追溯し,データ変化を量的に分析し,市場価格の変動法則を最初に発見した人は,株の起源のオランダ人でもなく,近代金融を発展させた偉大なイギリス人でもなく,国家を設立し金融と共存したアメリカ人でもなく,フランス人です.

18世紀には,フランスの証券取引の助手であるジュール・レグナルトが株価変動の現物代理論を提唱し,その後,の確率計算と株式取引の哲学の書を出版し,その中で彼が発見した市場下落法則 (正規分布) を詳細に述べました.の価格の偏差と時間の平方根に比例して,最終的に合理的な定量化投資決定によって取引の成功を得る.

現在,インターネット+ビッグデータ+クラウドコンピューティング+人工知能の時代の大背景の中で,量化取引も急速に発展している. かつて世界の金融の中心だったロンドン・キンスターキープは,IT企業の集積地になっている. 世界トップの投資銀行も,自分の量化チームを育成し,勝者モデルが天下を覆う金融大戦に巻き込もうとしている. これらの取引モデルを開発するITチームは,Team Quantとして知られている.

反論国内では,ハードウェア設備や投資力など,まだ初期段階にある.しかし,定量化取引の利点を認識し,この分野に関与する機関や専門投資家は,特に規制が徐々に厳しくなり,市場効率が徐々に向上する過程で,定量化取引はより広い成長余地を持っている.

量化取引の特徴

科学的検証: 想像してみてください,あなたが取引システムを持っているとき,その有効性を模擬盤でテストすると,膨大な時間コストが支払われる可能性があります. 直接リアル盤でテストすると,本当のゴールドシルバーが損失される可能性があります. しかし,量化取引の復習機能を利用して,大量の歴史的データを使用して,取引システムを科学的にテストすることができます. 何が有効か,効果がないか,データに話しかけ,人間ではなくクラウドです.

客観的に正確取引において,真の敵は自分であり,メンタルマネジメントは言っても簡単で実行しても難しい. 貪欲,恐怖,幸運といった人間の弱点は,取引市場では倍増し,量化取引は,これらの弱点を克服し,取引においてより良い意思決定を行うのに役立ちます.

タイムリーで効率的:主観的取引,人間の反射速度はコンピュータよりも速く,人間の体力やエネルギーも24時間稼働することはできません. 機会が瞬く間に消えていく取引市場では,量化取引は主観的取引を完全に置き換え,取引機会を探し,市場の変化を迅速に追跡することができます.

リスク管理量化取引は,過去のデータから,将来に繰り返される可能性のある歴史的法則を掘り出すだけでなく,多くの異なるポートフォリオを構築し,システムリスクを軽減し,資金曲線を滑らかにすることができます.

量化取引には,どんな古典的な取引戦略がありますか?

突破戦略を展開

開店半時間はしばしば日の動きを決定する.この戦略は,開店後半時間で,価格が陽線か陰線か,という基準として,日中のトレンドの方向性を判断する.陽線ならば買い,陰線ならば売り,閉店数分前に平衡する.これは非常に単純な取引戦略である.

ドンチアン通りの戦略

img

図1-1 唐津通道戦略図

ドンチアン通道戦略は日内取引の先祖として知られる.その規則は,現在の価格が前N根K線上位値よりも高い場合,最高価格で購入し,現在の価格が前N根K線下位値よりも低い場合,最低価格で売却する.有名な海取引法は,修正されたドンチアン通道戦略を使用する.

長期配当戦略

跨期利息は利息取引において最も一般的な形態であり,同じ取引種,異なる配達月間の契約の価格に基づいて,両方の価格が大きな差幅が発生した場合,異なる期間のフューチャー契約を同時に買ったり売ったりして跨期利息を行うことができる.主力契約と副主力契約の価格差が長期間 -50〜50程度に維持されていると仮定する.ある日の価格差が70に達した場合,我々は将来のある時点で価格差が50に戻ることを予想する.

概要

上記では,量化取引の定義,発展,特徴,そして古典的な取引戦略などから,量化取引に関する概念を簡単に説明します.

量的な取引を理解することは,寛大になるための重要な門戸です. 最後に,熊市で自分自身を充実させ,早期に認知変革を実現することを祝います!

予告量化取引と従来の取引とはどのような違いがあるのでしょうか? 実戦取引では,従来の取引か量化取引を選択しますか? 次のセクションでは,これらの2つの疑問を持って,量化取引について詳しく説明します.

授業後の宿題

1 量的な取引とは何か? 2 量的な取引の特徴とは?

1.2 なぜ量化取引を選ぶのか

概要

多くの人は,量化取引について,複雑な戦略プログラミングを切り口として検討し,意図せず量化取引に神秘的な面膜を敷く. 本節では,一般的言語で,量化取引の簡単なスライスを描き,その謎を解き明かそうとして,根拠のない白話でも簡単に理解できると信じています.

量的な取引と主観的な取引の違い

主観的な取引は人工的な分析と取引感覚に重点を置く. 買・売の信号が現れる場合でも,選択的な下手取引を行う. 市場を見逃すよりも,間違いをしない. 人間の感覚は複雑で変動し,信頼性が低いため,ほとんどのトレーダーは連続的な損失が発生すると,しばしば別の方法に移行する. ランダム性が強く,損失に悩まされやすいため,安定した利益を得ることは困難である.

取引の理解によって,一致する売買戦略を策定する.取引において,すべての動向は同等視し,平衡取引は全て体系的に処理し,間違えることを好む.また,歴史的なデータによる評価システムも完備しており,どの戦略が市場や品種に最も適しているのかを決定し,複数の戦略や品種を組み合わせて収益を達成する.

要するに,主観的取引は量的な取引の基礎であり,量的な取引は主観的な取引の磨きである. 主観的取引は武術の練習のようなもので,最終的には成功するか否か,才能が多数を占め,10年ほど未熟,また悟りがある.量的な取引は健身のようなもので,一生懸命努力すれば,才能がないとしても筋肉を鍛えることができる.

量的な取引は主観的な取引よりも優れているのか?

成功する主体的なトレーダーは,ある意味,量的なトレーダーでもある. 成功した主体的なトレーダーであるため,必ず独自のルールと方法,すなわち取引システムがある. 成功する主体的な取引は,取引の規律と取引のルールの上に構築されなければなりません. 取引のルールを実行する部分は,実際には主体的な取引の量的な部分です.

逆に,成功する量化トレーダーは,量化トレーディング戦略の開発が,実際に交易思想の結晶であるため,優れた主体的なトレーダーである必要があります.市場についての認識と理解が最初から間違っている場合,開発された取引戦略は長期的には利益を得ることが困難です.

したがって,収益性の観点から,取引者が最終的に成功するか否かを決定する重要な要因は,主観的取引か量的な取引かではなく,取引の理念である.量的な取引は表面的に高額に見えるが,主観的取引とは利益の本質的な違いはなく,両面がまるで一つのものの対極であり,統一している.

しかし,取引手段として,量化取引には多くの利点があることは否定できません.

復元が早くなる取引戦略を検証するには,大量の歴史的データを計算し,数分で結果を定量化することができます. これは主体的な取引よりも数倍速くなります.

もっと科目策略の有効性を見極めるのは,データ (例えば,シャープ比率,最大引き戻し率,年収) に基づくもので,自称の神杖ではなく,

より多くの機会: 世界には何千もの取引種があり,主観的な取引は同時に取引できないが,量化取引は,すべての市場をリアルタイムで取引することができ,いかなる取引機会も逃さないようにし,収益性を高める.

量化取引で儲かるのか?

もちろんできるが,長期にわたって堅持することは難しいことだ.お金稼ぐかどうかは,取引の量化自体に依存していない.それは単なるツールであり,量化取引は,取引思想を程序化,規則化,量化で実現するだけであり,程序の代わりに実行力である.長期にわたって安定したお金を稼ぐことは難しい.市場は賭け,動的であり,取引思想は市場とともに変化する.

量化取引のリスク

量化取引にはリスクもあります.なぜか?量化取引は,歴史データから法則を掘り出し,取引戦略を形成するからです.しかし,金融市場は生態系であり,その法則と人間性は相互作用する動的プロセスであり,結局のところ人間市場です.市場の法則は人間性によって影響され,人間の間の貪欲や恐怖は市場の変化とともに変化します.市場には変化しない法則がほとんどありません.

概要

上記の説明から,量化取引は,独自の取引方法ではなく,取引論理を分析し,取引戦略を完善するのに役立つ取引ツールであることがわかります. あなたが価値派,技術派,株式,債券,商品,オプションのどちらであれ,実際には量化することができます. 個人の経験に基づいて意思決定を行うトレーダーとは対照的に,量化トレーダーの武器は市場証拠と理性です.

予告

量化とは単なる取引方法であり,戦略は単なる取引思想の媒介であり,プログラムは各取引プロセスによって実行される.次のセクションでは,戦略構想,モデル構築,反テスト最適化,シミュレーション取引,実地取引,戦略監視などを含む量化取引の完全なライフサイクルについて説明します.

授業後の宿題

1 量的な取引と主観的な取引の最も重要な違いは何ですか? 2 量的な取引は主観的な取引に比べてどのような利点があるか?

1.3 量化取引の準備

概要

完全な量化取引ライフサイクルは,取引戦略そのもの以上のものである.これは,戦略構想,モデル構築,反測調整,シミュレーション取引,実地取引,戦略監視など,少なくとも6つの要素で構成される.

戦略的な考え

まず,量化取引を行うには,まず取引市場に戻り,市場の価格を観察し,市場の変動の法則を理解し,取引の論理をすべて推論し,取引戦略を結論付ける必要があります. ここにはショートカットはありません.あなたは古典的な投資本を読む必要があるかもしれません.

量化取引の初心者にとって,取引戦略の開発を始めるための最良の方法は,真似である.即座に準備済みの技術分析指標を使って戦略論理を構築し,買い売りのルールを書き込むことで,簡単な戦略を得ることができます. もしあなたの取引戦略は以下のようなものであれば,価格が過去10日間の平均値よりも高くなった場合,購入し,価格が過去10日間の平均値よりも低くなった場合,売却します.img図1-2 取引戦略の例

もちろん,戦略の経験が蓄積され,自分の取引方法を形成すると,論理的な選択肢はますます多様化し,さらに体系的な量的な取引へと進みます. 量的な思考を持つトレーダーは,株や先物市場の両方で,継続的に安定した利益を得る能力があるので,それが祝福すべきことです.

モデル構築

2つ目は,取引戦略を書き,あなたの取引アイデアを実現するための量化取引ツールに精通する必要があります. 市販されている一般的なソフトウェアはできます. しかし,高級量化トレーダーになりたい場合は,学ぶ必要があります.

Pythonは科学的な計算の権威言語であり,この言語は,コンピュータの学習に役立ちます. また,オープンソースの分析パッケージ,ファイル処理,ネットワーク,データベースなども提供しています.

もしあなたのプログラミング能力が弱いなら,これがほとんどの初心者の弱点であると信じれば,比較的簡単な可視化プログラミング言語,またはメア言語を使用することをお勧めします.これは量化取引の学習に興味を高め,戦略に集中し,効率的に戦略開発を完了することができます.以下の図のように:メア言語を使用して,上記の取引戦略を開発します.

img図1-3 取引戦略開発ページ

上図の策略コードは,発明者の量化ツールを活用したマーク言語デモンストレーションで,直接使用可能な機能モジュールが多く統合され,リトートとリアルディスク取引機能をサポートしている.

試行錯誤

次に,戦略モデルが作成された後,次のステップは戦略の再テスト,パラメータのフィルタリングと最適化である. 異なるパラメータを使用して戦略を再テストし,その戦略のシャープ比率,最大リコール,年収等を観察することができる. 戦略の継続的な調整と修正によって,最終的に完全な定量化取引戦略が得られる.

例えば,2017年の歴史をサンプル内データと,2018年の歴史をサンプル外データとします. 2017年のデータでいくつかのセットを最適化し,その後2018年のデータにこれらのパラメータを使用します.

データ再検査.通常,サンプル外の再検査結果は,サンプル内での再検査の結果がない場合,良好である.しかし,サンプル外とサンプル内での結果が大きく異なる場合,この戦略はほとんど無効である.分析を観察し,戦略が失敗した理由を判断する.

戦略の失敗がサンプル外データによるものだと仮定し,いくつかの極端な市場が大きな損失をもたらすると仮定すると,このリスクを回避するために固定ストップ損失条件を追加することができます.戦略の失敗が取引回数が多すぎるためだと仮定すると,取引回数を減らすために取引論理をわずかに絞ることができます.

注目すべきは,取引論理が最初から間違っている場合,どのように修正しても儲かる戦略を得るのが難しいことであり,このとき,自分の戦略思想を再考する必要があることである.また,パラメータ最適化では,利用可能なパラメータ群がより多くなるほど,戦略の適用性が広く示される.リトレーリングでは,取引回数が少ない戦略は,リトレーリングの結果が生存者偏差である可能性がある.リトレーリングの結果が超儲かる資金曲線である場合. 線,多くの場合,あなたの論理が間違っています.

偽造取引

次に,取引の論理が正しく,サンプル内外で儲かる戦略を手に入れたとき,リアルアカウントで取引する急がない.特に初心者にとって,まずはシミュレーションアカウントで少なくとも3ヶ月間実行することを確実にする.中低周波の昼夜戦略の場合,より長いシミュレーション取引時間がかかります.

完全不明の将来のシミュレーション市場では,シミュレーション取引における戦略のパフォーマンスを観察し,リサーチ信号とシミュレーション取引信号が一致しているか,注文時の価格と取引時の価格が偏っているかどうかを注意深く検証し,パフォーマンスと期待が一致した場合,戦略が有効であることを示します.

リアル取引

最後に,長い時間かけて戦略を検証した後,戦略を実戦に投入して取引を行うことができる. もちろん,量化取引の過程で,我々は警戒心を持ち,極端な動きを避ける必要があります.実戦では,戦略の期待は一般的に割引され,期待の50%を達成することは合格です.

戦略的監視

最後には,取引が進むにつれて戦略の有効性を観察し,予想以上の損失が出た場合,戦略を再評価することを覚えておく必要があります.市場特性が変化するので,現在の戦略は主に過去の市場特性を対象に形成されます.市場特性が変化すると,戦略モデルに間に合う調整または一時停止する必要があります.

概要

この記事では,量化取引の完全なプロセスを説明します. つまり,市場経験のある投資家であれば,コンピュータ言語の基礎をブロックすることができます. 視覚化言語またはマーク言語から始め,このプラットフォームで自分自身を鍛え,戦略を構築し,Pythonの高度な量化取引に移行します.

プログラミング能力の強い技術学生やIT専門家なら,市場投資の経験があなたを阻むでしょう.

予告

量化取引のライフサイクル全体において,取引戦略が最重要である. 次のセクションでは,取引戦略構造の観点から,完全な取引戦略の要素について詳細に説明します. これは,あなたの取引戦略をより全面的に構築し,量化取引を新しいレベルに引き上げるのに役立ちます!

授業後の宿題

1、このセクションの取引戦略をマレー語で書こう. 2 量化取引の評価において最も重要な業績指標は何ですか?

1.4 完全な戦略の要素とは

概要

完全な戦略とは,実際にトレーダーが自分自身に設定する様々なルールであり,取引のあらゆる側面をカバーし,トレーダーに主観的な想像の余地を与えず,すべての買い買いの決定,戦略に答えを与える.少なくとも戦略選択,品種選択,資金管理,下注取引,極端な市場対応,取引心態などを含む.

戦略的選択

ヘッジファンドの観点から見ると,主流の取引戦略は,傾向取引,配列取引,バスケット取引,イベント駆動,高周波取引,オプション戦略などに分けられる. もちろん,戦略の分類は固定されていません.img図1-4 取引戦略の分類

初心者向けに,数値取引の概念はそれほど多くなく,最も簡単なことから一歩ずつ始める必要があります. 単に"つの量値取引戦略を推奨するならば,それはトレンド取引です. その理由は単純で効果的です. 体系的な金融知識を学ぶ必要がなくても,良い取引ができると信じます. この戦略は長い間存在し,初期の公開取引戦略から,今日も多くの市場で有効であり,人間の性質は変更が困難です.

買ったり売ったり

取引をした人は,各品種にはそれぞれの性格があることを知るべきである.いくつかの品種は,熱い性格で,流動性があり,波動性が高く,波動率が高い.いくつかの品種は,穏やかな性格で,年間一定範囲内で波動し,波動率が低い.

したがって,取引品種を選択する際には,波動率という概念が必要です.波動率が高い品種は,よく良いトレンド市場の波から簡単に抜け出すことが容易です.商品先物については,トレンド追跡戦略であれば,できるだけ工業品を選択してください.

異なる戦略が異なる市場に適応し,良い取引品種を選択することは,フューチャー取引のこの大きなプロジェクトにとって非常に重要な始まりです. 絶対的な意味では,絶対的な良い品種も絶対的な悪い品種もありません. 投資スタイルやリスク承受力の違いによって,自分の基準に合わせて調整する必要があります.

買取する金額

取引でお金を失うのは簡単で,お金を稼ぐのは難しい.口座資金の50%を損すると,損失を回復するには100%の利益が必要である.

簡単に理解するために,上記の一節の均線戦略も説明します. 実際,従来の技術指標で構築された多くの取引戦略では,最大引き下げ率は通常50%以上またはそれ以上です. しかし,リスクの高い戦略は全く機能しませんか?

明らかにそうではありません. 最大引き下げ率は完全に資金管理によって制御できます. ポジションを半分に減らせば,全体的なリスクも半分に削減され,最大引き下げ率は30%になります. ポジションをさらに半分に減らせば,最大引き下げ率は15%になります. 最終的には最大引き下げ率は15%左右に制御される戦略を得ます. これは簡単な粗略な資金管理方法です. 多くの人々は満仓操作できないことを知っていますが,なぜ満仓操作できないのかわかりません.

買い物をする時

良い買取ポイントは成功の半分であり,コストゾーンから早く抜け出すことができる. しかし,誰もあなたに,この点から始めると正しく,その点から始めると間違っていることを教えてくれることはありません. 取引の中心は取引ではなく,取引の中心は取引の核心です.

短線戦略であれ,長線戦略であれ,比率は,誰がどれくらい持てるかではなく,リスク・リターン比率である.つまり,戦略の業績に影響する最終結果は,どのように出場し,いつ利益を得るかである.出場方法は,止損出出場と止損出出出場に分けられる.この2つの部分は,いかなる取引システムにも必要であり,取引戦略の成功に関与する重要な分岐点である.

買い物をする方法

1 委託の種類と方法:注文の種類や方法はいくつかあり,例えば:注文時に排列価格表,対価表,最新価格表,超値表,停値表,下値表,買取価格表,買取価格表,売り上げ価格表,売り上げ価格表,または排列価格表,超値表,批量表,または大手注文を小冊子に分解するか,または单品全体を直接報出するか.

2 撤回注文が完了していない場合,継続するか撤回するか,撤回条件は時間に基づいており,例えば10秒以内に完了していない場合,価格は注文時の価格から10ジャンプ離れた場合,継続するか,撤回するか,追記するかです.

3 追記する現在,取引が未完了時,請求されるかどうか.請求される場合,最新の価格で追いかけるか,または対価,または停値が下がり,請求が未完了の場合,請求を継続するかどうか.

4 価格が下がった当時の注文信号が表示されたとき,ちょうど値が止まったときはどうなるのですか.

5 集計入札公開募集中に参加したいか,どのように参加するか.

6時 夜間商品先物種の一部の夜間営業は21時00分から翌日の02時30分までであり,この期間中に作業は行われず,人工的に作業するか,コンピュータで作業する.

7 重要な祭り大祭りの超長期休暇まで,ポジションは予約する必要はありません. もし予約された場合,リスクを制御する方法.

極端な市場

1 短期間の価格変動 価格の瞬時的な暴落,連続的な暴落,ウラン指事件,ブラックシワンの市場価格踏み台事件など,これらの状況をどのように扱うか.

2 流動性リスク 競合機が欲しい下注量を持っていないが,間に合う取引が必要である場合,特に非主力契約の流動性が悪い場合,自社の下注は市場に衝撃を与えやすく,滑り点が大きい場合,どのように対処するか.

3 品種規則の変更 商品先物種が夜間取引に加入し,担保金比率上昇,手続手数料上昇,特にショートライン戦略は,これらの変化に非常に敏感である.

4 取引環境のリスク 例えば,突然の停電,ネットワーク切断,コンピュータ故障,ソフトウェアの故障,銀期送金停止,自然災害など.

この状況では,起こりうる可能性は小さく,あるいはほとんど不可能である.しかし,起こりうるものであれば,必ず起こる.これらの仮定を正しくし,予防策を講じることは非常に重要です.

心理的構築

取引に共通する3つの主要な心理感情は,貪欲,恐怖,幸運である.投資家は,様々な段階において,これらの3つの感情をコントロールし,あるいは利用するために強力な取引心理システムが必要である.

取引には,市場予想と品種心理的予想を含む,将来に対する全体的な期待が求められる.市場予想は,市場が位置し,将来の方向性についてより明確な目標を持つことを指し,品種予想は,品種が現在の位置にある取引機会とリスクの状況を指す.以上のような心理的基盤がなければ,何も話せない.

実盤取引の全過程は,継続的な分析,修正,実行のプロセスであり,取引の間には時間が少なく,追跡と忍耐が多くなる.これは,統合的な考察心態,人間の性質をテストするプロセスであり,トレーダーの様々な習慣が取引過程で完全に示され,強化される.常に学び,経験から教訓をまとめ,常に練習すれば,人間の思考共性や心理的な弱さを克服することができる.

概要

取引戦略は,その完ぺきな側面と欠陥があるとき,取引戦略の合理性を測定する時,その完ぺきな側面だけでなく,欠陥のある側面だけでなく,より総合的な分析戦略の完全性を見なければなりません.

最後に,戦略の特性,自分の性格と資金状況と組み合わせて,その戦略が自分に合っているかどうかを評価し,それが自分に合っている場合,自分がそれに固執する可能性がどれほど高いかを十分に評価し,最悪の結果を事前に計画する必要があります.

覚えておいてください,取引において,信頼は,あなたの心からの承認から生まれ,信頼は,正しい取引の考えから生まれます!

予告

この記事は第1章の最終記事です. 次の章では,量化取引ツールの概要,量化取引システムの配置,一般的なAPIの説明,量化取引システムに戦略を書く方法など,量化取引ツールの周りをさらに説明します.

授業後の宿題

1 トレンドトレード戦略は,波動率が高い品種を選ぶべきか,それとも波動率が低い品種を選ぶべきか? 2 取引オーダーは何種類ある?

第2章 定量化ツール紹介

2.1 量化ツールの一般的な説明

概要

前回の章では,量化取引に関する概念を学び,量化取引の基本的な知識を得ました. では,市場には,量化取引を行うツールがありますか? そして,自分のニーズに応じてどのように選ぶか?

オープンソースソフトウェアと商用ソフトウェア 国内での量化取引ツールは,一般に,オープンソースソフトウェアと商業ソフトウェアの2つの大カテゴリーに分けられる.いわゆるオープンソースソフトウェアは,ソフトウェアのソースコードがオープンであり,直接ソースコードをダウンロードして使用することが可能であると理解できる.商業ソフトウェアは,一般的に,商業企業が維持し,運営する閉鎖ソースソフトウェアを指す.通常は有料である.

オープンソースの量化ソフトウェア

まず,オープンソースソフトウェアは非常に柔軟性があり,完全に無料で,ユーザーは基本的にこのソフトウェアを使用して,中低周波取引戦略,利率戦略,オプション戦略など,任意の機能を実現することができます.

オープンソースソフトウェアには多くの利点がありますが,量化取引の初心者にとって友好的ではありません. Python,Java,C++などの標準プログラミング言語を体系的に学ぶ必要があります. 導入から放棄まで,その難しさは理解できます. 時々,バグを修正することはあなたの人生を疑わせます. また,商用ソフトウェアとは異なり,専門的な技術サービスがすぐに答えます.

したがって,学習の観点から言えば,量化取引初心者のために,最も簡単な商用ソフトウェアから始めることをお勧めします. 戦略が収益性がある場合,ソフトウェアの費用は利益の一部に過ぎません. また,商用ソフトウェアは一般的に保守中のチームであり,その成熟度がオープンソースソフトウェアよりもはるかに強いことは間違いありません.

商用量化ソフトウェア

国内で量化取引を行うことができる商用ソフトウェアは,例えば:プロフェッショナルでも包括的な製品が豊富で,大量の同化データを処理できるインタラクティブブローカー,高周波取引に適したAPAMA,C++のインターフェースをサポートする,実行効率の良いSPTの盛況,取引実行と風制御に焦点を当てた掘削量化および個人トレーダー向けMC,TB,MQ. 下図では,国内の主流の量化プラットフォームを総合的に評価し,量化ツールの難易度についても特定の分類を行い,読者は自分の現実状況に応じて選択することができます.img図2-1国内主流の定量化プラットフォームの総合評価

上記は商用ソフトウェアですが,標準プログラミング言語またはスクリプト言語を使用しているので,無料かつ安全なオープンソースソフトウェアを直接使用するよりよいです.ウェブサイトはwww.fmz.com取引を量的に学ぶための門戸を叩く.

発明者の定量化取引ツールを知ること

発明者による量化ツールは,ゼロベースであっても,小さな白友に友好的で,その内部の工夫によって具体化できる魅力である. このツールは,高周波取引向けに設計され,パフォーマンスとセキュリティに厳しい要求がある. 高周波戦略,利便策,トレンド戦略をサポートする. また,戦略開発,テスト,最適化,シミュレーション,実態取引の完全なプロセスを統合する. さらに,シンプルで便利なマック言語の両方をサポートし,Python,C++などの高度な量化取引言語をサポートする.

量化への第一歩:量化ツールを使う

定量化ツールの使用は非常に簡単で,ウェブサイトをクリックするだけで自分の定量化戦略を設計できます. 誰もが発明者の定量化ツール公式サイトにログインし,登録し,ログインし,コントロールセンターをクリックして使用できます (下図のように).

img図2-2 FMZ量化取引プラットフォームのホームページ

定量化ツールプログラミングには,集中した機能領域があり,機能領域は主に (下図のように) 左上角にあるコントロールセンターが定量化ツールの核心機能である.クリック後,取引戦略と戦略回路を書き,取引品種を設定する取引所,管理戦略のボットの托管者を作成,特定の定量化取引ロボットの作成を行うことができます.その機能の具体的な用途については,次の記事で詳細に説明します.現時点では,私たちは初歩のみを行います.

img図2-3 FMZ量化取引プラットフォームの登記後管理ページ

初めて量化取引を体験する友人は,コードやプログラミングがわからないという理由を踏まえてはいけません. ユーザの使用限界を減らすために,公式コミュニティは,量化取引の初心者に迅速な入門を助けるために多くのビデオチュートリアルを公開しています. また,公式および第三者の何千もの公式の取引戦略を戦略広場で集めており,簡単に複製して学ぶことができます.

また,戦略編集インターフェイスでは,クラシックな戦略例を配置し,クリックで戦略コードを直接使用し,量化取引の核心プロセスを簡単に体験することができます.

リアルゴールドシルバー・プレートの前には,シミュレーション取引も不可欠な環であり,このツールのシミュレーション取引は,取引所のルールに準拠しており,完全に無料であり,シミュレーションを含む時間,価格,注文量などがリアルマーケットとリアルタイムに撮影され,リアルプレート取引に高度に一致しています. 戦略の検証効率を大幅に向上します.

概要

オープンソースソフトウェアと商用ソフトウェアの両方には,優劣も劣悪も存在しない. 完璧な量化取引ツールも存在しない. 各ツールは独自の焦点を持ち,最も重要なことは,自分のニーズに応じて独自のツールを選択することです. 商業ソフトウェアは,支払いが必要であり,サービス等で少し優れています.

予告

新しい携帯電話を購入したとき,最初の起動はシンプルな起動設定を行う必要があるように,量化ツールも基本的な設定設定を行う必要があります. 次のセクションでは,発明者の量化取引ツールを手動で配置します.量化取引の最初のドアを開きます.

授業後の宿題

1 量的な取引手段は,どの2つのカテゴリーに分類されますか? 2 一般的に使われている量子プログラミング言語は?

2.2 発明者による量化取引システムの配置

概要

量化取引戦略の開発では,まずは取引ツールの配置,その設定は何のためにあるのか.実際には設定です. このセクションでは,取引所の設定,取引戦略の作成,量化取引ロボットの作成を案内します. これらは量化取引の必須条件です.

配置面は,入門学習模擬シミュレーション取引配当と実盤取引配置に分かれ,このカテゴリは主に国内商品先物で,他のカテゴリーは国内具体的状況のために推薦や紹介をせずに定量投資,しかし操作プロセスは同じですが,配置プロセスは異なります.

エクスチェンジを追加

エクスチェンジを追加することは,コンフィギュレーションの第一歩であり,詳細なプロセスは以下の図を参照してください. このステップでは,エクスチェンジを追加することは難しいことではないことを強調する必要があります.img図2-4 FMZ量化取引プラットフォーム 登録し,取引所を追加する手順

商品先物取引所 (実盤) の配置

現場での量化取引は,主に国内フューチャー取引品種を中心にしており,現在発明者の量化の主なサービス対象は国内フューチャー取引所でもある.外為をする友人のために,発明者の量化が学習のプラットフォームとして使用できます.

リアルディスク配置には注意すべき問題があります. 発明者の量化ツールが複数の取引市場をサポートしているため,商品フューチャーを配置するには,まずステップ1で従来のフューチャーボックスを選択する必要があります. ステップ2では,あなたが開設したフューチャー会社で入力し,フューチャーアカウントとパスワードを与えます.

発明者の定量化ツール,CTPプロトコルを採用し,国内のすべての先物会社をサポートし,実盤を配置する際に,アカウントとパスワードが間違っていない限り,リンクが失敗することはありません.img図2-5 FMZ量化取引プラットフォームがフューチャー取引所を追加

商品先物取引所 (シミュレーション) の配置

商品先物取引に触れたばかりの友人に,私は,数値化取引戦略を開発する過程で,継続的な検査,デュウミュート,最適化が必要であるため,しばらく前にシミュレーション取引を勧めます.

ここではSimNowシミュレーション取引を推奨します.SimNowは,投資家に専用の金融シミュレーションシミュレーション取引プラットフォームです.この製品は,各取引所の取引および決済規則を模倣し,現在,国内各期貨取引所の商品先物取引をサポートしています.具体的プロセスは,図を参照してください.img図2-6 FMZ量化取引プラットフォームの登記後管理ページ

戦略策定

策略リポジトリはコードを保存する場所であり,それは私たちの量化取引策略リポジトリに相当する. 主に2つの機能に分かれています: 策略作成と模擬復習. 策略作成エリアは,私たちの後の開発策略の主な作業領域です (下図のように),多くの初心者が多くの場合,様々なコードによって妨害され,非常に難しいと感じています. 実際,少しだけ注意を払うだけで,これらのコードを学ぶことができます.img図2-7 戦略の作成のステップ

量的な取引ロボットの作成

定量取引ロボットは取引戦略の実行者です. 戦略作成が完了すると,ロボットを作成し,戦略コード内の各取引論理,開場,平止,撤回などの売買操作を自動的に実行することができます. 定量取引ロボットの作成の具体的なステップは以下のとおりです. まず第一歩: コントロールセンターのページでボットタブをクリックし,ボットタブを作成するタブをクリックします. 第二歩: ロボットに名前を与えます. 第3ステップ: タブ + タブをクリックし,取引プラットフォームを追加します. 第4ステップ: タブをクリックしてロボットタブを作成します.img図2-8 ロボット作成のステップ

概要

上記のプロセスでは,最初のステップが実体と模擬の選択によって異なりますが,次のステップの戦略作成と取引ロボットの作成は均一なステップです. 量化ツール全体の配置が完了し,取引ロボットは動作し,戦略の特定の条件に応じて売買操作を行います. 量化取引の構成は,合計で3つのステップです. 取引所を追加し,自分のフューチャーアカウントパスワードを入力します. 取引戦略を作成します. 量化取引ロボットの作成を完了します. それは簡単ではありませんか?

予告

簡単な3つのステップだけで量化取引を実現できるが,注意深く調べると,取引所を追加し,量化取引ロボットを作成することは簡単だ.しかし,実行可能な取引戦略を実現するには,それほど簡単ではない.次のセクションでは,量化取引でよく使用されるAPIを学び,実行可能な取引戦略を書く準備をします.

授業後の宿題

1 取引所を追加してみましょう. 2. このセクションで取引戦略を書いてみてください.

2.3 よく使われるAPIの説明

概要

プログラミングについて言えば,APIとは別にはならない.多くの非IT人にとって,APIとは一体何なのか.APIは,理解できない.このセクションでは,大雑談で,APIとは一体何なのか,そして発明者の量化ツールでよく使われるAPIについて説明します.

APIとは何か?

インターネットで検索すると,以下のような結果になります:API (Application Programming Interface) は,アプリケーションと開発者がソースコードにアクセスしたり,内部仕組みの詳細を理解することなく,ソフトウェアやハードウェアベースの一連の手順にアクセスする能力を提供する,事前に定義された機能です.

実際,日常生活では,APIのようなシナリオが多く見られます. 例えば,レストランで食事をするとき,メニューを見て注文するだけで,そのメニューの名前が特定のAPIであり,メニューはAPIのドキュメントです.

量化取引におけるAPIとは何か?

現在の品種を今日開売価格で取得したい場合は,どのように入手したかを正確に知る必要はありません. 単にコードエディターに OPEN キーを入力して,直接使用できます.

よく使われるマクロ言語API

マクロ言語APIについて説明する前に,よく使われるコード構造と機能の構成について説明します.img図2-9 マヤ語例

画像のように,コードは: 紫のAAは変数で,変数は変容可能な量で,私たちの中学代数と同じです. もしAAに開場値を与えれば,AAは開場値になります. もしAAに最高値を与えれば,AAは最高値になります. もちろんAAはカスタム名で,BBとしても定義できます.

緑色の:=は赋值を意味する,つまり:=の右側の値が左側の変数に与えられている.

オレンジ色のコードは発明者の量化ツールのマグロ言語APIです. 最初の行のOPENは閉盘価格のAPIで,直接使用できます. 2番目の行のMAは均線APIです. 2つのパラメータを入力する必要があります. つまり,あなたは発明者の量化ツールの何種類の均線が必要かを伝えなければなりません.

黄色い/は注釈符,その後に青い中国語は注釈内容である. これらはすべて自分の目で見て,そのコード行の意味を提示するために使用される. プログラムは実行時に注釈に何も処理しない. 注意,注釈符の前に,コードの各行には英語の点数があり,その行の終わりである.

基本的なコード構造の認識を得て,以下は,よく使われる言語をいくつか紹介します. OPENは最新Kラインの開通価格を取得しました 例:AA:=OPEN; 最新のK線の開場価格を取得し,結果をAAに代入する

HIGHは最新Kラインの最高値を取得します 例:AA:=HIGH; 最新のK行の最高値を取得し,AAに結果値を代入します

LOWは最新Kラインの最低価格を取得します 例:AA:=LOW; 最新のK行の最低値を取得し,結果値をAAに代入します

CLOSE キンは最新のK線の閉じる価格を取得し,ディスク内のk線が終わっていないときに最新の価格を取得します. 例:AA:=CLOSE; 最新のK線の閉じる価格を取得し,結果をAAに代入する

VOLは最新Kラインの取引量を入手しました 例:AA:=VOL; 最新のK行の取引量を取得し,AAに結果値を代入する

REF ((X,N) は,N 周期前の X の値を参照します. 例:REF ((CLOSE,1); 根K線上の開場価格を取得する

MA ((X,N) は,N 周期におけるX の単純な移動平均を求めます. 例:MA ((CLOSE,10); // 最新のK線の10周期平均線を取得する

CROSSUP ((A,B) は,AがBを下から通り過ぎると1 ((Yes) を返し,そうでなければ0 ((No) を返します. 例:CROSSUP ((CLOSE,MA(C,10)) //閉盘価格で10サイクル平均価格を通過する

CROSSDOWN ((A,B) は,Aが上からBを通過すると成立し,1 ((Yes) を返し,そうでなければ0 ((No) を返します. 例:CROSSDOWN ((CLOSE,MA(C,10)) //閉盘価格が10サイクル平均値を下回る

BKが買い出し 例:CLOSE>MA ((CLOSE,5),BK; //閉盘価格が5サイクル平均線より大きく,開場買入

SPは平衡を売り切りました 例:CLOSE

SKが売り出し 例:CLOSE

BPが平衡買取 例:CLOSE>MA ((CLOSE,5),BP; //閉盘価格が5サイクル平均線より大きく,平仓に購入

BPKは平仓と開仓の買い方をします. 例:CLOSE>MA ((CLOSE,5),BPK; //閉盘価格が5サイクル平均線より大きく,空置を平ら化し,再開する.

SPKは平仓を売り,開仓を売り (反手空き) 例:CLOSE

CLOSEOUT はすべてのポジションを平らにする.これは,ポジションを平らにするすべての方向のポジションを平らにする.

よく使われるJavaScript言語API

JavaScript言語のAPIについて説明する前に,よく使われるコード構造と機能の構成について説明します.img図2-10 JavaScript のコードの例

画像のコードは以下のとおりです. JavaScript言語で変数を作成する場合は,通常宣言変数と呼ばれます.赤のコードでは,変数を宣言するためにvarキーワードを使用し,変数の名前はオレンジのコード:aaです.

JavaScript言語では,等号付与,つまり=の右側の値が左側の変数に付与される. 青いコードはExchangeのオブジェクトで,このオブジェクトはあなたが設定したフューチャー企業を指します.これは固定形式です.つまり,JavaScript言語のAPIを呼び出すとき,交換オブジェクトを指定する必要があります.

緑色のコードはJavaScript言語のAPIであり,私たちがそれを呼び出すとき,実際には取引所のオブジェクト内の関数を呼び出す. 青いコードの後ろの点も固定形式であることに注意してください. ここで関数は中学生時代に学んだ関数と同じ意味です. この関数はパラメータを指定する必要がない場合は空括弧で表示されます. この関数はパラメータを伝達する必要があります場合,パラメータを括弧に書き込む.

基本的な構造の原理を例で示した後に,以下は,皆さんがよく使う JavaScript 言語の API をいくつかお見せします. SetContractType (品種コードタグ) 契約の種類を設定します. 例:exchange.SetContractType ((rb1905); //取引を設定する品種は,螺紋鋼1905契約

GetTicker ボタンは,Tick のデータを取得します. 例:exchange.GetTicker (((); // ティックのデータを取得する

GetRecords は,K 線データを取得します. 例:exchange.GetRecords ((); //K行データを取得する

買って 買って 例:exchange.Buy ((5000, 1); //5000元で1本買う

売る 例:exchange.Sell ((5000, 1); //5000元で1本売る

GetAccountタブでアカウント情報を取得します 例:exchange.GetAccount ((); //アカウント情報を取得する

GetPosition ボタンは,保管情報を取得します 例:exchange.GetPosition ((); //保有情報を取得する

SetDirection キーを設定する 例えば: exchange.SetDirection ((buy); // 購入を複数にするための下注型を設定する exchange.SetDirection ((closebuyタグ); // 売り込み型をセットする exchange.SetDirection ((sell); //空置物を売り出すために下列の一種を設定する exchange.SetDirection ((closesellタブ); // 購入の空置物として下記の一覧のタイプを設定

ログタグはログにメッセージを出力します 例:Log ((hello, worle); // ログでhello world を出力する

スリープパンはプログラムを一時停止させる. 例:Sleep ((1000); // プログラムを1秒間停止させる

この上にある多くのAPIは,どのように覚えていくか,疑問を抱くかもしれない.実際には,これらのものは,あなたの硬背筋を暗記する必要はありません. 発明者定量化公式には,詳細なAPIドキュメントがあります. 辞書を見るように,あなたが使用するときに,直接チェックする必要があります. コードなどの最初の認識の内容に怯えなくても,私たちはこれらの言語を使用して戦略を組織したいです.

概要

これは量化取引で最も一般的に使用されるAPIで,基本的には以下が含まれます:データを取得,計算データ,注文購入,簡単な量化取引戦略に対処するのに十分です.

授業後の宿題

1、5周期均線で10周期均線文をMa言語で書くことを試みる. 2、JavaScript言語のGetAccountでアカウント情報を取得して,ログでログにプリントしてみてください.

予告

プログラミングはレゴブロックを組み立てるようなもので,APIはブロックの各パーツを組み立てるようなもので,プログラミングのプロセスはレゴ部品を1つの完全なおもちゃに組み込むようなものです.次のセクションでは,マック言語APIを使用して完全な量化取引戦略を組み立てるようにします.

2.4 発明者定量化システムで戦略を書く方法

概要

前回の数つの章を学び,今ようやく手書きの量化取引戦略ができました. これは手書きの取引から量化取引へのあなたの最も重要なステップになります. 実際,それはそれほど神秘的ではありません. 策略を書くことは,あなたのアイデアをコードで表現することだけです. この章は,ゼロから量化取引戦略を実装し,発明者の量化システムで策略を書く方法を知ることができます.

準備する

開発者定量化ツールのウェブサイトを開くには,次いで策略庫をクリックし,新しい策略を作成するボタンをクリックします. コードを書く前に,プログラミング言語のドラッグダウンメニューでマック言語またはJavaScript言語を選択する必要があります. もちろん,このプラットフォームはPython,C++および視覚化言語もサポートします.

戦略的アイデア

前回の章では,価格が平均線を突破する戦略を紹介しました.すなわち,価格が過去10日間の平均価格よりも高くなった場合,購入し,価格が過去10日間の平均価格よりも低い場合,売却します.しかし,価格が市場の状態を直感的に反映しているにもかかわらず,多くの偽の突破信号があります.

まず,傾向の方向を判断するために,より大きな周期均線を選択し,これは少なくとも偽の突破信号のほぼ半分をフィルタリングしている. 周期均線は鈍いが,より安定している. その後,再び入場の成功率を高めるために,この周期均線が少なくとも上方であることを条件に追加し,最後に価格,短期平均線,長期平均線の相対位置関係を使用して,完全な取引戦略を形成します.

戦略的論理

この戦略の考えや考えで,我々は戦略の論理を構築しようとします. ここでの論理は,天体の動作の法則を計算させるのではなく,それほど複雑ではありません.

複数の株を開設:当面にポジションがない場合と,閉店価格が短期平均線より大きく,閉店価格が長期平均線より大きく,短期平均線が長期平均線より大きく,長期平均線が上昇している場合.

空売り:当面にポジションがない場合,および閉店価格が短期平均線より低く,および閉店価格が長期平均線より低く,および短期平均線が長期平均線より低く,および長期平均線が下落している場合.

多頭平衡:当時は複数のオーダーが保有され,閉店価格が長期平均線以下,または短期平均線が長期平均線以下,または長期平均線が下落している場合.

空っぽの平行:現在空き注文を保持している場合,閉店価格が長期平均線よりも大きい場合,または短期平均線が長期平均線よりも大きい場合,または長期平均線が上昇している場合.

これが,全体的な量化取引戦略の論理的な部分です. 文字版の戦略論理をコードに変換すると,それは次の3つのステップを含みます. 市場を取得,指標を計算し,購入注文をします.

マヤ語戦略

まず,市場を取得する. この量化取引戦略では,我々は単に閉盘価格を取得するだけでよい. しかし,マレー語では,閉盘価格を取得するAPIは: CLOSE,つまり,あなたはコードで CLOSEを入力するだけで,最新のK行の閉盘価格を得ることができます.

この量化取引戦略で,私たちは2つの技術を使用しています. 短期平均線と長期平均線です. 短期平均線が10サイクル平均線と,長期平均線が50サイクル平均線であると仮定します. では,10サイクル平均線と50サイクル平均線を表すコードはどうでしょう?img図2-11 マレー語戦略コード

手動取引では,50サイクル平均線が上り,下りしているかを一目で確認できますが,どのようにコードで表すのでしょうか? よく考えてみてください,平均線が上り,上り,下りしているかを判断するには,現在のKラインの50サイクル平均線数が上根Kラインの50サイクル平均線値よりも大きいのか,上根Kラインの50サイクル平均線数が上根Kラインの50サイクル平均線値よりも大きいのか? 逆に平均線が下り,下りしているかを判断します.img図2-12 マヤ語判定均線コード

上記の図の8行と9行に,の赤いコードはANDであり,マレー語でを意味する.例えば,9行は中国語に訳すと,現在のK線の50周期均線が上下のK線の50周期均線よりも大きい場合,上下のK線の50周期均線が上下のK線の50周期均線よりも大きい場合,値をとして計算します.そうでなければ,値をとして計算し,のMA50_ISUPに割り当てます.

最終ステップは,買い買いの注文です. 買い買いの論理コードの裏側で,発明者の量化ツール (Quantification Tool) の買い買いのAPIを呼び出すだけで,買い買いの操作を実行できます. 図を参照してください:img図2-13 マール語 売買取引コード

上記の図の13行と14行に,の赤いコードはOR,マウ語ではまたはを意味する.例えば,中国語に翻訳された13行は,現在のK線の閉じる価格が現在のK線の50周期均線より小さい場合,または現在のK線の10周期均線が現在のK線の50周期均線より小さい場合,計算値をとしてとし,即座にリストアップします.そうでなければ計算はとしてで,何もありません.

ANDORは,マレー語の論理演算子です. ANDは,すべての条件がであるとき,最終条件がであるときです. ORはすべての条件において,いずれかの条件がである限り,最終条件はである.

概要

以上は,発明者定量化ツールでマーク言語で取引戦略を記述する全体的なプロセスであり,合計で3つのステップで行われます:戦略のアイデアから,戦略を構想し,論理を文字で記述し,最終的にコードで完全な取引戦略を実現します. これはシンプルな戦略であるにもかかわらず,具体的な実装プロセスは複雑な戦略と大きく異なります. 戦略のアルゴリズムとデータ構造は異なります. したがって,このセクションの定量化戦略のプロセスを理解しただけで,発明者定量化ツールでマーク言語で定量化戦略の研究と実践を行うことが必要です.

授業後の宿題

1、本節の戦略を実践しようとしています. 2、このセクションの戦略に基づいて,停止停止機能を追加します.

予告

量化取引戦略開発において,プログラミング言語は武器のようなもので,良いプログラミング言語は,あなたが半分以上の作業を行うことができます.例えば,量化取引の世界で最も一般的に使用されているPython,C++,Java,C#,EasyLanguage,Macなどの10以上の言語があります.どの武器を戦場で選ぶか.次のセクションでは,これらの一般的なプログラミング言語とその特徴について説明します.

第3章 単純なプログラミング言語で取引戦略を実現する

3.1 量化取引プログラミング言語の横向評価

概要

第1章と第2章では,量化取引の基礎知識と発明者による量化ツールの使用方法について学び,この章では,取引戦略を具体化します.

プログラミング言語とは

プログラミング言語を学ぶ前に,まずは,プログラミング言語の概念を理解する必要があります. プログラミング言語は,人間とコンピュータが理解できる言語であり,標準化された通信コードであり,プログラミング言語の目的は,人間の言語を使用してコンピュータを制御し,コンピュータに私たちに何をすべきかを伝えることです.コンピュータはプログラミング言語の指示に従って実行することができます. 私たちはコードを書いてコンピュータに指示を送ることができます.

子供の頃,親が話すことを教えてくれたように,


関連性

もっと

ハイルヒドラ2素晴らしい記事です!

空虚の量化マーク