概要
- このアプリはマニュアルを含め、全部ChatGPT-5 Thinkingが書いたものです。
- TradingViewがApache 2.0ライセンスで提供するLightweight Charts™︎ライブラリを使用しています。ライセンスなどは以下を参照してください。
- Lightweight Charts™︎ライブラリ取得のために CDN(https://cdn.jsdelivr.net/)への接続性が必要です
- Googleのフォントライブラリ(https://fonts.googleapis.com)への接続性が必要です。
- GoogleとAdobeが共同開発し、Googleから提供されている Noto Sans JP フォントを使用しています。ライセンスはSIL Open Font License 1.1です。詳しくは以下を参照してください。
- GitHubからこのHTMLファイルをダウンロードし、ダブルクリックなどによりファイルをブラウザで開くだけで使えます。
- CSVファイルは「ファンド名.csv」形式に名前を変えてください。
- ただし、1行目がCSVヘッダでない場合は、1行目の文字列をラベル(ファンド名)と仮定して読み込みますのでファイル名変更は不要です。
- SBI証券からダウンロードしたCSVファイルのように、複数行に渡ってCSVヘッダ以外の文字列がある場合は対応していません。
投資信託CSV比較
複数の投資信託の 基準価額データ(CSV) を読み込み、
TradingViewの軽量チャートライブラリ(Lightweight Charts™︎) を利用して比較表示できるツールです。最大10のCSVを同時に重ねて比較できます。
概要
| 機能 | 説明 |
| 対応エンコーディング | Shift-JIS(既定) / UTF-8 自動判定 |
| 区切り文字 | カンマ (,)、タブ、セミコロン (;) |
| 日付形式 | YYYY年MM月DD日 / YYYYMMDD / YYYY-MM-DD / YYYY/MM/DD / YYYY.M.D |
| 数値解析 | クォート内カンマ("12,345")や「円」付きにも対応 |
| CSV構造 | 1行目に銘柄名+2行目以降がCSV でもOK |
| 最大比較数 | 10ファイルまで |
| 保存 | PNG画像保存(凡例付き) |
| 凡例操作 | クリックで表示/非表示切替、削除ボタンで削除 |
| 正規化 | 基準日を100としてスケーリング |
| 対数スケール | 対数チャート表示対応 |
| その他 | チャート右下のつまみでリサイズ可能 |
画面構成
左パネル(CSV読み込み)
- 「ここをクリックしてCSVを選択」またはドラッグ&ドロップでCSVを読み込み
- 一度に最大10のCSVを読み込めます
表示設定
- 正規化基準日(YYYY / MM / DD)を入力(4桁/2桁入力でフォーカス自動移動)
- 正規化:基準日を100として比較
- 対数チャート:Y軸を対数スケールに変更
- 再描画:再計算
- PNG保存:凡例を合成して画像保存
右パネル(ステータス)
- ファイル名・解析結果・件数などが追記されます(スクロール可、区切り線「-----」)
下部(凡例)
- 色スウォッチ+ラベル+削除ボタン
- ラベルクリックで表示/非表示をトグル(非表示時は半透明+取り消し線)
チャート領域
- マウスホイールやドラッグでズーム・パンが可能
- 右クリックは無効(「PNG保存」を使用)
チャートエリアでのマウス操作
| 操作 | 動作 |
| ホイール上下 | X軸方向のズームイン/ズームアウト |
| ホイール + Shiftキー | Y軸方向のズーム(縦スケール変更) |
| 左クリック&ドラッグ(グラフ内) | 表示範囲のスクロール(左右) |
| 左クリック&ドラッグ(Y軸ラベル上) | Y軸のスケール範囲を移動(上下) |
| 右下の「つまみ」ドラッグ | チャートエリアのサイズを変更(縦横両方) |
| ダブルクリック(チャートエリア) | 全データを表示範囲に自動フィット |
| ホイールクリック(中ボタン) | スクロールリセット(中央位置へ) |
補足:マウス操作はLightweight Charts™︎の標準機能に準じます。スマートトラック(カーソル追従)は1点表示で、凡例・ツールチップに現在値が反映されます。
CSV仕様
エンコーディング
- 既定で Shift-JIS + CR/LF を最優先
- 妥当性が低い場合のみ UTF-8 を自動判定
ヘッダとデータ判定
- カンマ・タブ・セミコロンのある最初の行をヘッダと判断
- それ以前の行(銘柄名など)は無視
1行目がCSVヘッダではなくファンド名のCSVファイル例
以下のようなCSVファイルは1行目を銘柄名として扱います。
(三菱UFJアセットマネジメント)
eMAXIS Slim 米国株式(S&P500)
基準日,基準価額(円),純資産総額(億円)
2018/07/03,10038,0.01
(大和アセットマネジメント)
"Tracers S&P500ゴールドプラス"
基準日,基準価額(円),前日比(円),分配金(税引前)(円),純資産総額(億円),基準価額(税引前分配金再投資ベース)(円)
2022-08-31,10000,,,1.99,10000
対応できないCSVファイルの例
SBI証券からダウンロードできるCSVファイルのような非定型なCSVファイルには対応しません。
基準価額一覧
ファンド名,"SBI・iシェアーズ・ゴールドファンド(為替ヘッジなし)"
検索期間,検索開始年月日,検索終了年月日
"","20250920","20251020"
年月日,基準価額(円),前日比(円),純資産総額(百万円)
"2025/10/17",23045,367,175166
エディタなどで最初の数行を加工すれば対応できます。
SBI・iシェアーズ・ゴールドファンド(為替ヘッジなし)
基準価額(円),前日比(円),純資産総額(百万円)
"2025/10/17",23045,367,175166
日付列・価格列の自動判定
- 日付候補:
日付, 基準日, 年月日, Date, DATE など(見つからなければ内容から推定)
- 価格候補:
基準価額, 基準価格, NAV, Price, 価格, 時価 など(見つからなければ数値列を自動判定)
数値正規化
- \"12,345\", 9,904円 などを自動的に数値化
- 全角数字・記号も半角変換
昇順・降純の両方に対応
ラベルの決定
- 1行目がCSVヘッダでない場合:1行目の文字列をラベル(ファンド名)に使用
- 1行目がCSVヘッダの場合:ファイル名(.csv 除去)をラベルに(ファンド名)使用
- 同一ラベルの再読み込みは 置換(色を維持)
使い方
- CSVファイルを選択またはドラッグ&ドロップ(最大10)
- ステータス欄に解析が出力され、チャートが描画されます
- 正規化ON:基準日を100として比較(空欄なら共通最古日を自動採用)
- 対数チャートON:Y軸が対数に
- 凡例:クリックで表示/非表示、削除ボタンで削除
- PNG保存:チャート+軸+グリッド+可視シリーズ凡例を合成して保存
正規化のルール
- ON:指定した基準日の値を100としてスケーリング
- OFF:元の価格をそのまま表示
- 基準日が空:全シリーズに共通する最古日を基準とする
- 基準日指定時:すべてのシリーズにその日付のデータが必要
- 正規化チェックボックスがONのまま基準日指定を変更した場合は、基準日更新ボタンを押す
- 不正な日付(例: 2024-02-30)は自動エラー
PNG保存と右クリック
- 右クリックの保存/コピーは無効
- PNG保存ボタンで画像化(軸・グリッド・系列すべて、可視シリーズの凡例のみ合成)
ステータスログ
- 各CSVの解析情報(ヘッダ、区切り、列位置、件数など)を追記
- 各ファイル末尾に
----- を挿入
- 縦スクロールで全履歴を保持
よくあるエラー
| エラー内容 | 対処方法 |
| ヘッダーに日付列が見つからない | CSVの先頭行が銘柄名か確認。日付の表記を確認。 |
| 価格列が特定できない | 一般的な列名か、値が文字列扱いになっていないか確認。 |
| 正規化が反映されない | 基準日が全シリーズに存在するか確認。共通最古日が無ければ自動でOFF。 |
制限・注意事項
- 最大 10シリーズ(色:#6aa0ff, #ffa600, #36cfc9, #e66abd, #8bc34a, #ff6e6e, #b58cff, #ffd166, #00c9a7, #ff8ec9)
- 同名シリーズは置換(色は維持)
- タブ区切り+クォート混在CSVの完全互換は未対応(拡張可能)
- タイムゾーンはUTC基準(国内ファンドのCSVデータは年月日だけで時刻の記載がないので実質的に影響なし)
ヒント
- 凡例クリックで一時的に非表示→見たい銘柄だけを確認
- 基準日空欄+正規化ON→共通最古日で自動正規化
- PNG保存で可視状態のシリーズのみ画像に出力
バージョン情報
- 2025/10/20 : version 0.1.0 : 初期リリース
- 2025/10/24 : version 0.1.1 : キャッシュ周りの不具合解消、マイナーな機能追加、ヘッダとフッタを少し変更