0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScriptだけでFX資金管理シミュレーターを作ってみた(期待値・DDを可視化)

0
Posted at

スクリーンショット 2026-07-04 1.27.28.png

トレードでは「期待値が大事」とよく言われますが、実際に自分のルールで資金がどう推移するのかを事前にイメージするのは簡単ではありません。

そこで、自分が日常的に使える資金管理シミュレーターをJavaScriptだけで作成しました。

完成したものはこちらです。

👉 https://www.nyaofxlife.com/funding_simlutor/

今回は、その開発内容と実装でハマったポイントを紹介します。

作ろうと思った理由

元々はスプレッドシート版のシミュレーターを使っていました。

ただ使っていく中で、

ファイルを探すのが面倒
PCごとに環境が変わる
スマホからも使いたい

と感じるようになり、「ブラウザだけで完結する形」に作り直すことにしました。

使用技術

今回のシステムは非常にシンプルです。

HTML
CSS
JavaScript

バックエンドは使わず、すべてブラウザ内で完結する構成にしています。

そのため、入力データはサーバーに送信せず、その場でシミュレーションを実行します。

一番苦労したこと① 金額ベースと割合ベースの切り替え

資金管理には大きく2つの考え方があります。

1回あたり固定金額でリスクを取る方法
資金の◯%でリスクを取る方法

一見すると単純な違いですが、実装すると資金の増減に応じてリスク量が変化するため、計算ロジックを切り替える必要があります。

特に割合ベースの場合は複利的に資金が変化するため、シミュレーション結果の曲線も大きく変わります。

この違いを自然に扱えるようにする設計が一番のポイントでした。

一番苦労したこと② PDF出力(データ制御)

PDF出力は今回もっとも調整に時間がかかった部分です。

単純に画面をPDF化するだけであれば難しくありませんが、このツールでは「シミュレーション結果を1つのレポートとして出力する」必要がありました。

そのため、単なる表示ではなくデータを整形してPDFに描画しています。

しかし、この過程でいくつか想定外の挙動が発生しました。

■ 300回分のシミュレーションが分割される問題

本来は1つのレポートとしてまとめたいにもかかわらず、

1回ごとにPDFが分割される
意図しないタイミングで改ページされる

といった現象が発生しました。

これはループ処理とPDF生成ロジックの対応がズレていたことが原因でした。

■ 一部データしか出力されない問題

逆に、条件によっては

最初の数回分しかPDFに出力されない
残りのデータが欠落する

といった問題も起きました。

これは描画タイミングとデータバインドの順序が原因で、処理フローを見直すことで解決しました。

このあたりは「画面表示の問題」ではなく、
「データ生成と出力処理の整合性」の問題だったため、原因の特定に少し時間がかかりました。

お気に入りの機能

一番気に入っているのはPDF保存機能です。

条件を少しずつ変えながら、

リスクリワード
勝率
リスク率

などを比較することが多いため、結果を保存して見返せるのはかなり便利です。

シミュレーションは一度で終わるものではなく、複数パターンを比較して初めて意味が出ると感じています。

作ってみて感じたこと(期待値の話)

このツールの本質は「資金が増える未来を予測すること」ではありません。

むしろ重要なのは、

期待値通りにトレードを続けた場合に、どの程度のドローダウンが発生し得るのかを事前に理解すること

です。

数字で未来を当てるのではなく、「起こり得る現実を先に把握する」ためのツールだと考えています。

その結果として、必要以上に焦らずトレードに向き合えるようになります。

まとめ

今回の開発を通して感じたのは、「自分が本当に使いたいもの」を作ると、細かい部分まで自然とこだわるようになるということです。

最初は自分用のツールとして作り始めましたが、同じように資金管理で悩む人の役に立てばと思い公開しています。

期待値を理解しているかどうかで、資金の見え方はかなり変わります。
実際に数字で確認してみると感覚が変わると思います。

👉 https://www.nyaofxlife.com/funding_simlutor/

スクリーンショット 2026-07-04 1.34.40.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?