金融市場の動的な性質により、取引戦略を開発および検証するために信頼できるデータを利用することが必要です。バックテスト環境に高品質のデータを効率的に組み込むことは、トレーダーやアナリストにとって非常に重要です。 TraderMade API は、正確かつ詳細かつ包括的な市場データを提供することで、これらの専門家に力を与えます。
この分析では、TraderMade の Time Series API を利用して履歴データを取得し、簡単な単純移動平均 (SMA) クロスオーバー戦略を実行して、その履歴パフォーマンスを評価します。
SMAクロスオーバー戦略について
単純移動平均 (SMA) クロスオーバー戦略は、基本的なテクニカル分析手法です。これには 2 つの SMA の観察が含まれます。1 つは価格変動に対する感度が高い短期 SMA、もう 1 つは短期的な価格変動の影響を軽減する長期 SMA です。
買いシグナルは、短期 SMA が長期 SMA を上回ったときに生成され、潜在的な上昇トレンドを示します。逆に、短期 SMA が長期 SMA を下回ると売りシグナルがトリガーされ、潜在的な下降トレンドを示します。
データ収集
次のように TraderMade の SDK をインストールすることから始めます:
!pip install tradermade
当社では、インストールされたソフトウェア開発キット (SDK) を使用して、外国為替 (外国為替) ペアの時系列データを 1 時間ごとに取得します。後続の Python コードは、EUR/USD 通貨ペアのデータの取得を例にしています。
import tradermade as tm import pandas as pd def fetch_forex_data(api_key, currency, start_date, end_date, interval="hourly", fields=["open", "high", "low", "close"]): # Set API key tm.set_rest_api_key(api_key) # Fetch the data data = tm.timeseries(currency=currency, start=start_date, end=end_date, interval=interval, fields=fields) # Convert data directly to DataFrame df = pd.DataFrame(data) # Convert 'date' column to datetime df["date"] = pd.to_datetime(df["date"]) # Set 'date' as the index df.set_index("date", inplace=True) return df # Adjust as needed api_key = "YOUR TRADERMADE API KEY" currency = "EURUSD" start_date = "2024-11-01-00:00" end_date = "2024-11-27-05:12" # Fetch the data and display the first few rows forex_data = fetch_forex_data(api_key, currency, start_date, end_date) forex_data = forex_data.rename(columns={"open": "Open", "high": "High", "low": "Low", "close": "Close"}) forex_data.head()
バックテストのためのデータ取得と前処理が正常に完了しました。
シンプルな SMA クロスオーバー戦略の実装とバックテスト
このセクションでは、バックテスト Python ライブラリを利用して、SMA クロスオーバー戦略を定義および評価します。バックテスト ライブラリに馴染みのない人のために説明すると、バックテスト ライブラリは、テクニカル取引戦略のバックテスト用の著名で堅牢な Python フレームワークであると考えられています。これらの戦略には、SMA クロスオーバー、RSI クロスオーバー、平均反転戦略、モメンタム戦略などを含む多様な範囲が含まれます。
import numpy as np from backtesting import Backtest, Strategy from backtesting.lib import crossover from backtesting.test import SMA # Define the SMA crossover trading strategy class SMACrossoverStrategy(Strategy): def init(self): # Calculate shorter-period SMAs for limited data price = self.data.Close self.short_sma = self.I(SMA, price, 20) # Short window self.long_sma = self.I(SMA, price, 60) # Long window def next(self): # Check for crossover signals if crossover(self.short_sma, self.long_sma): self.buy() elif crossover(self.long_sma, self.short_sma): self.sell() # Initialize and run the backtest bt = Backtest(forex_data, SMACrossoverStrategy, cash=10000, commission=.002) result = bt.run() # Display the backtest results print("Backtest Results:") print(result)
この戦略では、20 期間と 60 期間の SMA という 2 つの移動平均が使用されます。買い注文は、短期 SMA が長期 SMA を上回ったときに実行されます。逆に、短期 SMA が長期 SMA を下回ると売り注文がトリガーされます。この単純な戦略により、25 日間の取引期間内に 6 回の取引で 243 ドルの利益が得られました。
株式および SMA 曲線分析
後続の Python コードは、SMA クロスオーバー戦略のパフォーマンスを評価します。 SMA は、価格トレンドの視覚化を容易にし、売買シグナルを生成するクロスオーバー ポイントを特定します。株式曲線は、ポートフォリオの成長に対するこれらのシグナルの影響を示すパフォーマンス指標として機能します。
両方の曲線を統合することで、トレーダーはクロスオーバー イベントとポートフォリオ価値の変化との相関関係を容易に観察でき、SMA クロスオーバー戦略の有効性についての重要な洞察が得られます。
Plotly を利用して株式と SMA 曲線を視覚化し、トレーダーが戦略の収益性を効果的に評価できるようにします。
!pip install tradermade
結論
バックテストを成功させるには正確な高頻度データが必要であり、TraderMade の API によりシームレスな統合が促進されます。経験レベルに関係なく、さまざまな戦略を検討する初心者であっても、洗練されたモデルを開発する経験豊富なアナリストであっても、同社の製品は必要なツールを提供します。
TraderMade の API をワークフローに組み込む準備はできていますか?今すぐ旅を始めて、コンセプトを現実に変えましょう。
以上が外国為替 API を使用してプロのようにバックテストを行うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

AlaySaregenerallymorememory-effictient forstring forstring inumericaldataduetotheirfixed-sizenature anddirectmoryaccess.1)AraysstoreElementsinaCourowlock、Reducingoverheadfrompointertersormetadata.2)リスト

ToconvertaPythonlisttoanarray,usethearraymodule:1)Importthearraymodule,2)Createalist,3)Usearray(typecode,list)toconvertit,specifyingthetypecodelike'i'forintegers.Thisconversionoptimizesmemoryusageforhomogeneousdata,enhancingperformanceinnumericalcomp

Pythonリストは、さまざまな種類のデータを保存できます。サンプルリストには、整数、文字列、フローティングポイント番号、ブール膜、ネストされたリスト、辞書が含まれています。リストの柔軟性は、データ処理とプロトタイピングにおいて価値がありますが、コードの読みやすさと保守性を確保するためには注意して使用する必要があります。

Pythondoesnothavebuiltinarays; usethearmoduleformemory-efficienthogeneousdatastorage、while-lelistSareversatileformixeddatypes.Arraysareeffientive for forlardatedateSetsetype、wheneasofferistofibuliestibuliestuseduseerieartusedoersorerdatatess。

sostCommonlylysedModule forcreatinginpythonisnumpy.1)numProvidesefficientToolsForArrayoperations、理想的なfornumericaldata.2)arrayscanbecreatedusingnp.array()for1dand2dstructures.3)

toAppendElementStoapyThonList、usetheappend()methodforsingleelements、extend()formultipleElements、andinsert()forspecificopsitions.1)useappend()foraddingoneElementatheend.2)useextend()toaddmultipleelementseffictience.3)

To CreateapythonList、usesquareBrackets []およびSeparateItemswithcommas.1)listsaredynamicandcanholdmixdatatypes.2)useappend()、remaid()、andslicingformanipulation.3)listcompreheNsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsientionforcreating.4)

金融、科学研究、医療、およびAIの分野では、数値データを効率的に保存および処理することが重要です。 1)財務では、メモリマッピングされたファイルとnumpyライブラリを使用すると、データ処理速度が大幅に向上する可能性があります。 2)科学研究の分野では、HDF5ファイルはデータストレージと取得用に最適化されています。 3)医療では、インデックス作成やパーティション化などのデータベース最適化テクノロジーがデータのパフォーマンスを向上させます。 4)AIでは、データシャーディングと分散トレーニングがモデルトレーニングを加速します。システムのパフォーマンスとスケーラビリティは、適切なツールとテクノロジーを選択し、ストレージと処理速度の間のトレードオフを検討することにより、大幅に改善できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 中国語版
中国語版、とても使いやすい
