参考記事の応用で、裁量トレードの損益をPythonで表示してみました。
累積値の計算とx軸の目盛表示を解説しています。
結果

実際に書いたコード
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "Meiryo"
fig, ax = plt.subplots()
fig.canvas.manager.set_window_title("2026-02-23")
data = [2.6, 3.3, 3.0, 60.5, 34.7]
# 累積値を計算
cum = 0
cum_list = []
for value in data:
cum += value
cum_list.append(cum)
ax.plot(range(1, len(data) + 1), cum_list, marker="o") # x軸を1始まりに
ax.set_title("トレード損益(累計)")
ax.set_xlabel("回")
ax.set_ylabel("pip")
ax.set_xticks(range(1, len(data) + 1))
ax.set_xticklabels(range(1, len(data) + 1))
ax.grid(True)
plt.show()
コードの解説
累積計算
# 累積値を計算
cum = 0
cum_list = []
for value in data:
cum += value
cum_list.append(cum)
cum = 0
累積値(合計)を入れる変数を初期化。
cum_list = []
累積値の推移を保存するリスト。
for value in data:
data の要素を先頭から順に取り出すループ。 Python の for は「インデックス」ではなく「要素」を直接取るのが基本です。
cum += value
累積値を更新。
x軸
ax.set_xticks(range(1, len(data) + 1))
ax.set_xticklabels(range(1, len(data) + 1))
ax.set_xticks(...)
x軸に「どの位置に目盛りを置くか」を指定します。
range(1, len(data) + 1)は 1, 2, 3, …(データ数まで) を生成。
つまり、 x軸に 1, 2, 3, 4, 5 の位置に目盛りを置くという意味。
ax.set_xticklabels(...)
目盛りに表示する「文字」を指定します。
ここでも同じ range(1, len(data) + 1) を使っているので、 目盛りのラベルも 1, 2, 3, 4, 5 と表示されます。




人気ブログランキング ブログパーツ