先月はプラス20%、今月はマイナス20%。合計ゼロだから資産も元どおり、と考えると運用成績を間違える。100万円は120万円へ増え、その120万円が20%減って96万円になる。二カ月のリターンはマイナス4%だ。
リターンの集計には、時間をつなぐ計算と、同じ期間の複数資産をまとめる計算がある。ここを混ぜると、月次成績、バックテスト、ポートフォリオ評価で誤差が生じる。単純リターンと対数リターンを、どの方向へ集計するかに注目して使い分けよう。
単純リターンは増減額を元の資産で割る
入出金や分配がない場合、単純リターンは期末評価額÷期首評価額−1で求める。100万円から120万円なら20%。120万円から96万円ならマイナス20%だ。二つの割合は、分母になっている資産額が違う。
したがって期間をつなぐには、各期間の「1+リターン」を掛ける。1.2×0.8−1=−0.04となる。三期間以上も同じで、各期間の増加倍率を全て掛けて最後に1を引けば累積リターンになる。

算術平均0%でも資産は減る
20%とマイナス20%の算術平均は0%だが、一期間あたり一定の倍率で同じ96万円へ到達する率は、√0.96−1で約マイナス2.02%になる。これがこの二期間の幾何平均リターンだ。
算術平均は各期間の率を平均した値、幾何平均は実際の複利成長を均した値で、目的が違う。算術平均を常に誤りとする必要はないが、累積資産の説明へそのまま使ってはいけない。特に値動きが大きい系列では二つの差が目立つ。
「平均が同じ」だけでは運用結果は同じでない
二期間とも0%の戦略と、20%・マイナス20%の戦略は、算術平均がどちらも0%だ。前者の資産は100万円、後者は96万円となる。上下動の大きさが複利に影響することを示す簡単な例である。
ただし、上下動があるだけで全ての戦略が必ず損をするという意味ではない。十分な正のリターンがあれば成長する。重要なのは、一期間の平均と複利の結果を分け、実際に資産へ適用した倍率で検証することだ。
対数リターンは時間方向へ足せる
対数リターンは、1+単純リターンの自然対数である。単純リターン20%ならln1.2で約0.1823、マイナス20%ならln0.8で約−0.2231となる。二つを足すと約−0.04082で、ln0.96に一致する。
足し算できるのは、倍率の掛け算を対数が足し算へ変えるためだ。ただし合計−0.04082をそのまま「資産が4.082%減った」と読むのは厳密には違う。単純リターンへ戻すには指数関数を使い、exp(合計対数リターン)−1を計算する。この例では−4%となる。
小さな変化では近いが、大きな変化では違う
単純リターン1%に対応する対数リターンは約0.995%で、数値は近い。一方、50%ならln1.5で約40.55%となり、差は大きい。短い足で変化が小さいからといって、表示する率を無条件に入れ替えてよいわけではない。
データ表には単純率か対数率かを明記し、百分率表示か小数表示かもそろえる。1%を1と入力する欄と0.01と入力する欄の取り違えは、指標や年率を百倍ずらす。精密な統計計算より前に、単位を固定することが必要だ。
同時保有の二資産は単純リターンを加重平均する
100万円を二つの資産へ50万円ずつ配分し、同じ期間にAが20%上昇、Bが20%下落したとする。Aは60万円、Bは40万円となり、全体は100万円でリターン0%だ。時間方向の20%上昇後20%下落とは違う。
この場合、期首比率50%ずつで単純リターンを加重し、0.5×20%+0.5×(−20%)=0%と計算する。二資産の対数リターンを50%ずつ平均すると約−2.04%になるが、それはこのポートフォリオの対数リターンではない。

リバランスの有無を指定する
先ほどの一期間後はA60万円、B40万円なので、比率は60対40へ変わっている。次の期間も50対50として計算するなら、実際に売買して配分を戻すという仮定が必要だ。売買しないのに毎期50%で加重すると、存在しないリバランスを入れてしまう。
頻繁なリバランスには手数料、スプレッド、場合によって税の影響がある。計算上の配分維持と実際の売買を一致させる。期首比率、期間内の取引、費用を明示して初めて、資産の合計とリターンがつながる。
売買ごとの利益率を足して口座利回りにしない
一つの取引で10%、次の取引で5%取れたとしても、口座全体が15%増えたとは限らない。投入した資金が違う、同時保有だった、現金を残していた、費用があった、といった条件で結果は変わる。
例えば100万円の口座から10万円だけ使い、その取引で10%利益を得れば、利益は1万円で口座寄与は1%だ。取引単位の収益率と、口座資産に対する寄与率を分けて保存する。勝ちトレードの率だけを合計すると、投入量を無視した見せかけの成績になる。
入金がある期間は資産比だけでは計算できない
100万円で始め、運用で110万円へ増えた直後に100万円を追加入金したとする。その後210万円が10%減って189万円になった場合、期末資産は期首より89万円多い。しかし増えた理由の大半は入金である。
入金前後に分けた時間加重のリターンは1.1×0.9−1=−1%だ。実際の投資家の金銭的な損益は、189万円から総入金200万円を引いて−11万円となる。運用の率と、投入した金額・時点を反映する損益は異なる問いに答えている。
GIPSの資料でも、外部キャッシュフローを調整し、区間のリターンを幾何的につなぐ考え方が説明されている。ここでは個人口座の理解のために応用しており、特定の基準へ準拠する成績報告を作ったという意味ではない。
分配金と配当落ちを忘れない
価格が100から98へ下がり、その間に2の配当を受け取ったなら、税や費用を省けば保有者の総価値は100になる。価格だけのリターン−2%と、配当込みの総合リターン0%は違う。
調整後価格を使っている場合には、配当が既に反映されていないかを確認する。調整済み系列へ受取配当を再度足せば二重計上になる。分割調整だけなのか、配当再投資まで含むのかは提供元の仕様による。列名だけから推測しない。
年率換算は将来の予測ではない
外部入出金なしで一年の累積リターンが分かれば、そのまま年次成績となる。複数年なら資産倍率の年数乗根から年平均成長率を求められる。しかし一カ月の高い成績を12カ月続くように換算しても、継続する根拠にはならない。
取引日数を使うのか暦日数を使うのかも決める。非常に短い期間の成績は年率換算すると極端な値になりやすい。実際の期間と累積損益を先に示し、年率は補助表示として条件を付ける方が誤解を減らせる。
空売りやレバレッジでは分母に注意する
先物の証拠金に対する利益率と、口座全体に対する利益率は大きく違うことがある。少ない証拠金で大きな建玉を持てば、証拠金比の率は高く見えるが、その建玉が必要とする余力や損失リスクまで小さくなるわけではない。
価格リターンとポジション損益率も同じではない。空売りの損益は価格変化と逆方向になるが、対数価格リターンを単に符号反転して口座の対数成長率と呼べるわけではない。数量、資金、費用を通して口座評価額を計算する必要がある。
ゼロ以下になる系列に対数を無理に適用しない
実数の対数リターンは、比率の元になる値が正であることが前提だ。価格がゼロや負になる商品、負の純資産、全損する区間などへ通常の対数計算をそのまま適用できない。エラーを小さな正数で置き換えて隠すと、経済的な意味が変わる。
その場合は価格差と契約乗数から損益を計算するなど、商品に合う方法が必要だ。計算できた値だけを残すと、最も厳しい損失区間を除外することにもなり得る。例外処理と除外理由を明示することが重要になる。
取引しなかった現金もポートフォリオに含める
口座の半分を現金で残し、残り半分の資産が10%上がれば、現金の利息と費用を省いた全体リターンは5%となる。投資した部分だけの10%を口座利回りとして示すと、待機資金を分母から除いてしまう。実際に運用に使える資金全体を評価するのか、特定ポジションだけを見るのかを明示する必要がある。
複数戦略を一つの口座で動かす場合、同じ待機資金をそれぞれの戦略の資産として重複計上しない。戦略単位の仮想配分と、口座全体の実資産を照合する。単体で見た高い利回りを合計しても、同時に必要な資金や保有量が一致しなければ全体の成績にはならない。
記録では、評価額、外部入出金、分配、手数料、単純リターン、累積倍率を別の列にする。途中計算を丸めず最後の表示だけ丸めれば、小さな丸め誤差が何百期間も積み重なることを避けられる。複利の式を正しく使うことに加え、計算の対象範囲を固定することが重要だ。
手計算できる三つの例をテストに使う
100→120→96の時間方向、50万円ずつの二資産が60万円と40万円になる資産方向、途中で100万円を入金する例を、集計プログラムへ通す。順に−4%、0%、時間加重−1%が出るかを確認すると、掛け算、加重平均、入出金の混同を見つけやすい。
最後は計算した累積リターンから資産額を再構成し、元の評価額と一致するかを確認する。率の一覧が美しく並んでいても、金額へ戻せなければ集計範囲や分母がどこかでずれている。リターンは飾りの数字でなく、資産推移を説明するための道具である。
参考:GIPS Standards Handbookのリターン計算・外部キャッシュフローの説明。計算例は全て独自の仮定。


コメント