Pythonアルゴリズムを使用して取引する方法

Pythonアルゴリズムを使用して取引する方法

投資管理会社でシステム開発エンジニアとして働いていたとき、定量金融で成功するには、数学、プログラミング、データ分析に優れている必要があることを学びました。

[[382922]]

アルゴリズム取引または定量取引は、統計的および数学的な取引戦略を設計および開発するプロセスとして定義できます。これは非常に複雑な財務分野です。

では、アルゴリズム取引を始めるにはどうすればよいのでしょうか? この魅力的な取引の世界への道を切り開くために学ぶべき 5 つの重要なトピックを紹介します。私は個人的に、適切なカスタマイズ性、開発の容易さとスピード、テスト フレームワーク、実行速度を提供する Python を好みます。したがって、これらすべてのトピックは、取引のための Python に焦点を当てています。

1. Pythonプログラミングを学ぶ

データサイエンス分野で成功するには、しっかりとした基礎知識が必要です。どの言語を選択する場合でも、その言語で徹底的に理解する必要がある特定のトピックがあります。 Python エコシステムにおけるデータ サイエンスについて知っておくべきことは次のとおりです。

  • 環境設定 - これには、仮想環境の作成、必要なパッケージのインストール、Jupyter Notebook または Google colabs の使用が含まれます。
  • データ構造 — 最も重要な Python データ構造には、リスト、辞書、NumPy 配列、タプル、セットなどがあります。皆さんの学習に役立つように、リンク先の記事にいくつかの例を集めました。
  • オブジェクト指向プログラミング - クオンツとしては、適切なクラスが定義された、構造化されたコードを記述する能力が優れていることを確認する必要があります。 Pandas、NumPy、SciPy などの外部パッケージを使用する場合は、オブジェクトとそのメソッドの使用方法を学習する必要があります。

2. 財務データの処理方法を理解する

データ分析は財務の重要な部分です。 Pandas を使用してデータ フレームを操作する方法を学ぶことに加えて、取引データを操作する際に知っておくべき特定のトピックがいくつかあります。

Pandasを使用してデータを探索する方法

Pandas は、間違いなく Python データ サイエンス スタックの中で最も重要なパッケージの 1 つです。パッケージで定義された関数を使用して、ほぼすべての主要なタスクを実行できます。データフレームの作成、フィルタリング (loc、iloc、クエリ)、記述統計 (概要)、結合/マージ、グループ化、サブセット化に重点を置きます。

時系列データの処理方法

トランザクションデータは時系列分析がすべてです。データ頻度を分単位から時間単位に、または 1 日の OHLC データから週末データに変更するには、データを再サンプリングするか、データを再インデックスする方法を学習する必要があります。たとえば、resample 関数を使用して、1 分間の時系列を 3 分間の時系列データに変換できます。

  1. df_3min = df_1min.resample( '3Min' , label= 'left' ).agg({ 'OPEN' : 'first' , 'HIGH' : 'max' , 'LOW' : 'min' , 'CLOSE' : 'last' })

3. 基本的な取引アルゴリズムの書き方

定量金融分野でのキャリアには、統計的仮説検定と数学に対する深い理解が必要です。多変量計算、線形代数、確率論などの概念を習得すると、アルゴリズムの設計と記述のための優れた基盤を構築するのに役立ちます。まず、株価データの移動平均を計算し、簡単なアルゴリズム戦略 (移動平均クロスオーバーや平均回帰戦略など) を記述し、相対力取引について学ぶことができます。基本的な統計アルゴリズムの仕組みを理解するという小さいながらも重要な一歩を踏み出して練習した後は、機械学習技術のより複雑な領域を深く掘り下げることができます。これらには、統計と数学のより深い理解が必要です。最初に読むべき 2 冊の本: アーネスト チャン博士著「Quantitative Trading: How to Build Your Own Algorithmic Trading Business」、バリー ジョンソン著「Book on Algorithmic Trading and DMA」

4. バックテストを理解する

取引戦略をコーディングしたら、実際のお金を使ってライブ市場でテストするだけではだめですよね?次のステップは、その戦略を過去の取引データのストリームに公開して、取引シグナルを生成することです。実行された取引には関連する損益 (P&L) があり、すべての取引を累積すると合計 P&L が得られます。これをバックテストと呼びます。バックテストには、数学、統計、ソフトウェア エンジニアリング、市場の微細構造など、多くの分野に精通している必要があります。バックテストを適切に理解するために学ぶべき概念をいくつか紹介します。

  • まずテクニカル指標を理解することから始めましょう。これらのインジケーターを使用するには、TA_Lib という Python パッケージを調べてください。
  • パラボリック SAR などのモメンタム指標を使用して、取引コストとスリッページを計算してみましょう。
  • 戦略の累積収益をプロットし、戦略の全体的なパフォーマンスを研究する方法を学びます。
  • バックテストのパフォーマンスに影響を与える非常に重要な概念はバイアスです。最適化バイアス、先読みバイアス、心理的寛容性、生存バイアスに注意する必要があります。

5. パフォーマンス指標 - 取引戦略を評価する方法

自分の戦略を簡潔に説明できることが重要です。自分の戦略を理解していない場合、外部の規制の変更や体制の変化によって、戦略が不安定な動作をし始める可能性があります。戦略を自信を持って理解したら、次のパフォーマンス メトリックを使用して、戦略の実際の長所と短所を理解することができます。

  • シャープレシオ - 戦略のリスク/報酬比率を経験的に説明します。これは、株式カーブが経験するボラティリティのレベルから期待できる利益を定量化します。
  • ボラティリティ - 戦略に関連する「リスク」を定量化します。シャープ比もこの特性を反映しています。一般的に、原資産のボラティリティが高くなると、株式カーブのリスクが高まり、シャープ比率は低下します。
  • 最大ドローダウン - 戦略のエクイティ カーブにおける、ピークから谷までの全体的な最大の下落率 (パーセンテージ)。最大ドローダウンはこれによって影響を受けるため、通常はモメンタム戦略と組み合わせて研究されます。計算に NumPy ライブラリを使用する方法を学びます。
  • 容量/流動性 - 資本を増やす戦略のスケーラビリティを決定します。多くのファンドや投資管理会社は、戦略によって資本配分が増加するにつれて、こうしたキャパシティの問題に悩まされています。
  • CAGR – 一定期間にわたる戦略の平均成長率を測定します。計算式は、(累積戦略リターン)^(252 / 取引日数)— 1です。

<<:  米国は人工知能戦争への準備を強化している

>>:  機械学習モデルを評価する際にデータ漏洩を防ぐ方法

ブログ    
ブログ    
ブログ    

推薦する

CMU と Adob​​e が協力: GAN モデルは事前トレーニングの時代を先導し、トレーニング サンプルのわずか 1% しか必要としません

事前トレーニングの時代に入ってから、視覚認識モデルのパフォーマンスは急速に向上しましたが、生成的敵対...

Microsoft Bing Chat が Chrome と Safari で利用可能になりましたが、いくつかの制限があります

Microsoft の人工知能チャットボット Bing Chat が、Google Chrome お...

会話型AIプラットフォームを選択する際の4つの視点

多くの企業は、顧客エンゲージメントと収益を向上させるための会話型 AI の重要性を急速に認識し始めて...

Langchain、ChromaDB、GPT 3.5 に基づく検索強化型生成

翻訳者|朱 仙中レビュー | Chonglou概要:このブログでは、検索拡張生成と呼ばれるプロンプト...

機械学習が失敗したらどうするか: 計算学習理論

導入顔認識モデルを構築し、検証セットを使用してテスト セットでの実験のパラメータを調整しているとしま...

「データオープン化」の道で、百度アポロはウェイモをリード

6月17日、世界最大のコンピュータービジョンカンファレンスであるCVPRの自動運転セミナーにおいて、...

...

...

テスラの自動操縦装置が別の人をはねて死亡させ、被害者の家族が訴訟を起こす

電気自動車メーカー、テスラの自動操縦機能に関連する死亡事故がまた発生した。被害者は高速道路脇でモデル...

あなたの顔を「動かした」のは誰?顔認識技術の背後にあるプライバシー保護

[[392874]] 4月9日午後、中国初の顔認識訴訟が杭州中級人民法院で最終判決を受けた。被告杭州...

作業の重複をなくしましょう! 30分で独自のディープラーニングマシンを作成する方法を教えます

[[327809]]画像ソース: unsplash繰り返し作業はいつも面倒です。新しいプロジェクトを...

オープンモデルの重みはAIを制御不能にすると言われ、Metaはプラカードで抗議され、LeCun:オープンソースAIコミュニティは活発化している

AIの分野では、オープンソースとクローズドソースの選択については、常に意見が分かれてきました。しかし...

...

このトレンドは止められない!すべてのデータ サイエンティストが知っておくべき 5 つのグラフ アルゴリズム

すべてがつながっている世界では、ユーザーは独立した個人ではなく、何らかの形で互いにつながっています。...