Logo
🇺🇸  en🇧🇷  pt-br🇪🇸  es🇫🇷  fr🇯🇵  ja🇨🇳  zh
JPY (¥)
  • ポートフォリオ
  • アルゴトレーディング
  • ドキュメント
  • API
  • 折りたたむ
  • プラットフォーム
  • ティッカー
  • ポートフォリオ
  • アルゴトレーディング
  • 結果
ドキュメントティッカーYahoo Financeティッカーティッカー修飾子ブラジルのティッカーポートフォリオのバックテストアルゴトレーディングバックテスト結果

アルゴトレーディング

アルゴトレーディングツールは、JavaScriptで作成した取引アルゴリズムを実行します。コードは市場データを1日ずつ受け取り、買い注文と売り注文を送信し、ポートフォリオツールと同じ結果を得ます。

フィールド:

  • ティッカー - アルゴリズムが取引できる資産。ティッカーの種類のいずれも使用でき、最大10個まで指定できます。
  • 残高 - 初期現金。ページ上部で選択した通貨建てです。
  • 期間 - シミュレーションの開始日と終了日。
  • レバレッジ - 有効にすると空売りが可能になり、アルゴリズムは保有していない資産を、下記の証拠金の範囲内で売却できます。空売りの売却代金は現金に加算されません。潜在的なリターンとリスクの両方が高まるため、慎重に使用してください。
  • 初期証拠金 - 新規の空売りポジションを制限する割合(デフォルト50%):空売りの合計額は最大で (現金 + 買いポジション) / 初期証拠金 までです。例えば、50%の場合は現金と買いポジションの合計の2倍まで空売りできます。
  • 維持証拠金 - 空売りの価値に対して、証拠金として確保しておく必要がある割合(デフォルト30%)。証拠金がこれを下回ると、シミュレーションはエラーで停止します。自動的なマージンコールはありません。
  • コード - アルゴリズムのJavaScriptコード(下記参照)。

コード (AlgoWorkspace):

コードは非同期関数の本体として実行され、thisはAlgoWorkspaceにバインドされます。イベントリスナーを登録し、コードの最後でstart()を呼び出してシミュレーションを開始します。コードにはdataリスナーがちょうど1つ必要で、すべてのリスナーは処理の終了時にnext()を呼び出す必要があります。

利用可能なイベント:

  • this.on('start', async (next, timeseries) => { ... }) - 最初の日付の前に1回実行されます。timeseriesには、日付をキーとするすべての価格データが含まれます(Record<string, AssetDataFlat[]>)。this.assetsとthis.portfolioはまだ設定されていません。
  • this.on('data', async (next) => { ... }) - データがある日付ごとに1回実行されます。注文はリスナーがnext()を呼び出した後に、その日付の価格で約定します。
  • this.on('end', async (next, result) => { ... }) - 最後の日付の後に、最終結果とともに実行されます。result.summary.alphaとbetaはPromiseです。
  • this.on('error', async (next, errors) => { ... }) - 現金や証拠金の不足などで、ある日付の注文がキャンセルされたときに実行されます。errorsはstring[]です。コード内の例外はシミュレーションを停止させ、警告タブに表示されます。

プロパティとメソッド:

  • this.date - 現在の日付。
  • this.assets - 現在の日付の価格(AssetDataFlat[]: assetCode, date, value, currency)。その日付にデータがあるティッカーのみが含まれます。
  • this.portfolio - 現在のポートフォリオのコピー(cash, assets, total, longValue, shortValue, totalProfit, realizedProfit, margin)。変更しても効果はないため、下記のメソッドを使用してください。
  • this.index - 現在の日付の番号で、1からthis.lengthまで。
  • this.length - データがある日付の数。
  • this.inputs - シミュレーションの入力値。
  • this.state - イベント間で独自のデータを保存するためのオブジェクト。
  • this.buy(assetCode: string, quantity: number): void - 買い注文を送信します。数量はゼロ以外の有限の数値である必要があります。
  • this.sell(assetCode: string, quantity: number): void - 売り注文を送信します。レバレッジが有効な場合、ポジションを超えて売却すると空売りポジションが開かれます。
  • this.print(...msgs: any[]): void - 現在の日付付きのメッセージをメッセージタブに追加します。
  • this.depositCash(amount: number): void - ポートフォリオに現金を追加します。
  • this.loadScript(url: string): Promise<number> - 外部JavaScriptライブラリを読み込みます。読み込んだスクリプトは実行後に削除されます。
  • this.download(obj: any, name?: string): Promise<void> - objをname.jsonという名前のJSONファイルとしてダウンロードします(デフォルトはinvest-tester.json)。

アルゴトレーディングページのデフォルトコードは完全な例です。ライブラリを読み込み、ランダムな注文を出し、毎月積立を行います。

InvestTester | 制作者: Tpessia
support@investtester.com