電力価格のフォワードカーブ
背景
プロジェクトは最大30年となる全期間にわたってシミュレーションします。この期間の財務結果を計算するには、同じ期間の系統の価格の見積もりが必要です。
これほど先の価格を推定するのは非常に困難です。価格は、マクロ経済要因(商品価格、為替レート、インフレなど)のほか、政策(再生可能エネルギーの補助金、原子力政策など)や技術進歩(蓄電池のコスト、新しい蓄電池技術、より高性能で安価な太陽電池など)を含む系統の状況によっても変わります。
モデルを説明可能に保つため、価格の季節性は将来も変わらないと仮定します。たとえば、価格は春より冬の方が高く、週末より平日の方が高い状態が続きます。 カーブの長期的な傾向については何も仮定せず、各年の平均価格がほぼ同じベースカーブを生成します。 また、基本的な気象変数(気温、日射量、風速)と価格の関係も将来にわたって同様であると仮定します。ベースカーブは、プロジェクトの期間中の年間平均価格と年間平均ボラティリティの仮定に合わせて調整します。ユーザーは、シナリオで独自の年間平均とボラティリティの仮定を設定できます。
計算ロジック
価格生成の主なステップは次のとおりです。
- 過去のデータに基づいたベースカーブの作成
- ベースカーブと仮定に基づいたシナリオカーブの作成
- ベースカーブの再現性のためのバージョン管理
ベースカーブの作成
エリアごとに個別にトレーニングした勾配ブースティング木モデル(CatBoost)でベースカーブを作成します。このモデルは、気象とカレンダーの特徴量から、1日の48コマの価格をまとめて予測します。過去の価格を入力として使用しない非自己回帰モデルのため、数十年先まで価格を生成できます。また、別の勾配ブースティング分類モデルが、ベースカーブで価格フロア(0.01円/kWh)になると予想されるコマを判定します。
これらの「生の」ベースカーブは負になることがあります。
インプット
このモデルは、予測変数として各エリアの固定された5地点の気象データをエリアごとに平均して使用します。システムプライスには、5つの主要都市の気象データを使用します。気象データのソースはシミュレーターの気象と同じです。以下の変数を使用します。
- 地上2 mの気温、単位は°C
- 全天日射量、単位はW/m2
- 風速
- カレンダーの特徴量:曜日、月、年内の日、週末と祝日のフラグ
各エリアのJEPXスポット価格でモデルをトレーニングします。トレーニングには、2021年4月1日から最新の実績までの価格を使用します。ベースカーブは本土の9エリアとシステムプライスを対象とし、沖縄は対象外です。トレーニングは毎月15日に実行されます。
トレーニングしたモデルで、2059年12月31日までの将来のベース価格カーブを生成します。予測変数には、シミュレーターの気象で説明している、将来を過去にマッピングした同じ標準化済みの気象データを使用します。
シナリオカーブの作成
ベースカーブを作成したら、プロジェクトに関連付けられたシナリオの仮定に従ってシナリオカーブを作成します。仮定は、エリアごと、プロジェクトの期間中の年ごとの年間平均価格と年間平均ボラティリティ(平均絶対偏差)です。シナリオカーブに含まれるのはスポット価格のみです。
現時点では、特定の年のゼロ価格のコマの頻度を明示的に仮定することはできません。 その頻度は、ベースカーブと、平均およびボラティリティの仮定との相互作用で決まります。 たとえば、平均価格を下げてボラティリティを高めると、その年のゼロ価格イベントの頻度は増える傾向があります。 シナリオカーブのゼロ価格のコマは、下記の最後のステップで適用する0.01円/kWhの下限からのみ生じます。ベースカーブの価格フロア分類モデルは影響しません。
最初のステップとして、シナリオからこれらの仮定を取得し、各年が会計年度の開始(4月1日)を指すとみなして、これらのポイント間を月単位で線形補間します。値は各月の初めに変わり、月内では一定です。定義された最初の年より前と最後の年より後は、値を一定に保ちます。 この補間により、30分ごとの各コマについて平均価格の仮定とボラティリティの仮定が得られます。
次に、生のベース価格カーブについて、直近12か月のローリング平均を計算します。
ここで、は将来の全てのコマの集合、は時刻の生のベース価格です。ローリング計算には生成された価格のみを使用します。12か月分のウィンドウがまだそろわない将来の最初の1年間は、以下の、、に最初の完全なウィンドウの値を使用します。過去のコマの実績価格は、シナリオカーブを計算した後に追加されます。次に、価格トレンドを次のように計算します。
ローリング平均と偏差を次のように計算します。
また、ローリング平均絶対偏差(MAD)は次のように計算します。
ボラティリティの項は次のとおりです。
シナリオ価格は次のように定義されます。
シミュレーターはこのシナリオ価格を使用して取引結果を計算し、プロジェクト期間中の蓄電池の運転を最適化します。
バージョン管理
財務モデルの再現性と安定性を保つため、Tensor Cloudはベースカーブをバージョン管理しています。モデルは毎月15日に再訓練されます。下記の安定性チェックに合格した実行は、新しいバージョンとして公開されます。バージョン管理により、ユーザーは次のことができます。
- 特定のバージョンの選択: シナリオで使用するベースカーブのバージョンを選択する
- 一貫性の維持: 複数のシミュレーション間で同じベースカーブバージョンを使用し、比較可能な結果を得る
- 履歴バージョンへのアクセス: 結果の再現や比較のために以前のバージョンに戻る
- バージョンの確認: 各バージョンのトレーニングデータと推論データの期間、および対象期間を確認する
ベースカーブのバージョンは、シナリオの設定時に選択します。
各バージョンには、生成した年と月に基づく名前が付きます(例:26.10)。同じ月に再度生成した場合は、末尾に英字が付きます(例:26.10b)。バージョンは、全てのエリアのカーブが自動の安定性チェックに合格した場合にのみ公開されます。