Financial Toolboxのバックテストにおける仕様について
조회 수: 1 (최근 30일)
이전 댓글 표시
Financial ToolboxのbacktestStrategy関数を使って、株取引ルールの検証をしようとしています。
その際、MATLABの挙動について不明な点があったので、質問させてください。
MATLABでバックテストを行う際には、価格データを入力する場面が2つあります。
- backtestStrategy関数に適用するrebalanceFcnに入力するassetPricesという価格データ
- new_weights = rebalanceFcn(weights,assetPrices)
- runBacktest関数に入力するpricesTTという価格データ
- backtester = runBacktest(backtester,pricesTT)
これら2つのデータがどのような理由で分けられていて、どのような形で利用されているのか分かりません。
もしかしたら、
assetPrices ⇒ 株の購入価格
pricesTT⇒ 日々の株の評価額
なのかも知れませんが、確証が持てずにいます。
この辺りの仕様に詳しい方、よろしくお願いいたします。
댓글 수: 0
답변 (1개)
Shoumei
2021년 5월 17일
だいぶ時間が経過しているので、自己解決されていらっしゃるかもしれませんが、本ご質問に気づいたので回答します。
rebalanceFcnおよびrebBacktestの両方で価格データを入力引数として与えるのが不自然だというご質問かと思います。
以下のサンプルの様に、runBacktestで与える価格データをbacktestStrategyを介してrebalanceFcnに与えるようになっているので、データは同じもので、単に入れ子構造になっているだけと考えれば良いと思います。
% バックテスト用オブジェクト作成
strategy = backtestStrategy("Name",@rebalanceFcn,...
'RebalanceFrequency',rebalFreq,...
'TransactionCosts',tradingCosts,...
'LookbackWindow',ewLookback,...
'InitialWeights',initialWeights)
backtestResult = backtestEngine(strategy);
% バックテスト実行
backtestResult = runBacktest(backtester,pricesTable)
function out = rebalanceFcn(weight, PriceTable)
% 省略
end
これらの関数の例にあるプログラムを実行してみると構造が理解できると思います。
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Transaction Cost Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!