記事"戦略バランス曲線の品質評価としての R 乗"についてのディスカッション - ページ 4

 

外れ値が扱われないと、統計的な関係についての結論が正しくないことがある - 外れ値の検出。

 
Dennis Kirichenko:

外れ値の検出が実行されない場合、ある統計的関係についての結論は間違っている可能性があります。

R^2が最適化(OnTester)の基準として 使用される場合、LR残差とその係数の分析はすべて破棄されます。

付加的な分析は、最適化の貴重な時間を増加させ、それはほとんど役に立たないので、状況は劇的に変化しないでしょう。

 
СанСаныч Фоменко:

著者は偶然のプロセスをまったく理解していない。記事の結論はすべて偶然性の概念とは無関係であり、人々をミスリードしている。

この意見を説明しよう。

記事の冒頭で定義が述べられている:

線形回帰とは、ある変数yが 別の独立変数xに 線形に依存することであり、y = ax+bという 式で表される。この式では、aは 乗数で、bは バイアス係数である。

線形回帰は,次式では表現されない

y = ax+bは1次方程式の式である

しかし,次式で表現される

y = ax+b + エラー

誤差は正規分布でなければならず,そうでない場合は,線形回帰の適用を非常に制限する多くのニュアンスが生じる.

線形回帰係数は、線形方程式とは異なり、 定数ではなく、偶然の値であり、Rなどで標準的な線形回帰フィットをとると、常に線形回帰係数について、係数のその値からの偏差、および確率(この係数の証拠はないという帰無仮説での確率)が指定されることを理解することが非常に重要です。もう一度:線形方程式とは異なり、線形回帰係数はまったく存在しないかもしれません。それが、この記事で議論されているR2係数が、回帰係数が存在しない確率が10%以下の回帰に対してのみ意味を持つ理由です。金融系列において、線形回帰の係数が意味を持つということを私は見たことがなく、したがってこの線形回帰を使用することは可能である。

サン・サンチ、口出しするな。私たちは私たちの知っているように型を作っていく!

p.s. あなたが斜めに読んでいるのは明らかです。R^2は相場のチャートのためではなく、株式のために計算されます。その主な仕事は、均等な株式を表示することです。それだけだ。R^2がランダムかどうかは、ユーザーの判断に任せる:

fxsaber:

もしR^2を最適化(OnTester)の基準とするならば、LR残差とその係数の分析などクソ食らえです。

追加的な分析は最適化の貴重な時間を増加させ、ほとんど役に立たないので、状況は劇的に変化しない。

+
 

とにかく、間違ったサインはここから取っている:

100,000でスタートした。手数料は0。取引額の合計は+513だが、残高合計は99 755.90、つまり757.1ドルがどこかに欠けている。

どうだ?

 
Vasiliy Sokolov:

要するに、ここから間違ったサインが出ているのだ:

少し言い直そう。符号の正しさに関する発言は、エクイティだけでなく、一般的なケースに関するものである。あなたが行ったように、最初の値と最後の値をエクイティで比較した場合、このケースでは間違った符号が負ける可能性が高い。一般的なケースを扱った方がいいだろう。

我々は100,000でスタートした。手数料は0。取引上の合計は+513だが、残高合計は99 755.90、つまり757.1ドルがどこかに欠けている。

どういうことですか?

HTMLレポートがあるとわかりやすい。

 
fxsaber:

少し言い直したい。記号の正しさについての発言は、エクイティだけでなく、一般的なケースについてのものです。あなたがしたように、最初の値と最後の値をエクイティで比較した場合、このケースでは符号の正しさが失われる可能性が高い。一般的なケースを扱った方がいいだろう。

HTMLレポートはそれを理解するのに役立つだろう。

残念ながら、これは残高の場合と同じ結果を示している。両者の合計は完全に一致する:+513$。しかし、一般的には、両者は一致するはずです。なぜなら、テストの後、 すべての取引が決済され、資本が残高と比較されるからです。

fxsaber:

HTMLレポートは理解の助けになるでしょう。

今送ります。

 

?:%:?:わかりました。スワップを考慮するのを忘れていました(スワップから利益へのスワップは要約されていません)!

 

完了しました。残高計算機能を修正しました。各取引でスワップも考慮されるようになりました:

//+------------------------------------------------------------------+
//| 戦略のバランスに基づいて計算された R^2 スコアを返します。
//+------------------------------------------------------------------+
double CustomR2Balance(ENUM_CORR_TYPE corr_type = CORR_PEARSON)
{
   HistorySelect(0, TimeCurrent());
   double deals_equity[];
   double sum_profit = 0.0;
   int current = 0;
   int total = HistoryDealsTotal();
   for(int i = 0; i < total; i++)
   {
      ulong ticket = HistoryDealGetTicket(i);
      double profit = HistoryDealGetDouble(ticket, DEAL_PROFIT);
      double swap = HistoryDealGetDouble(ticket, DEAL_SWAP);
      if(profit == 0.0 && swap == 0.0)
         continue;
      if(ArraySize(deals_equity) <= current)
         ArrayResize(deals_equity, current+16);
      sum_profit += profit + swap;
      deals_equity[current] = sum_profit;
      current++;
   }
   ArrayResize(deals_equity, current);
   return CustomR2Equity(deals_equity, corr_type);
}

持分計算の最終値が実際の結果と同期するように修正:

//+------------------------------------------------------------------+
//|| エクイティ・モニタリングの追加|
//+------------------------------------------------------------------+
double CStrategyList::OnTester(void)
{
   switch(m_custom_type)
   {
      case CUSTOM_NONE:
         return 0.0;
      case CUSTOM_R2_BALANCE:
         return CustomR2Balance(m_corr_type);
      case CUSTOM_R2_EQUITY:
      {
         double equity[];
         m_equity_exp.GetEquityArray(equity);
         int total = ArrayResize(equity, ArraySize(equity)+1);
         equity[total-1] = AccountInfoDouble(ACCOUNT_EQUITY);
         return CustomR2Equity(equity, m_corr_type);
      }
   }
   return 0.0;
}

エクイティの収集間隔が大きくなる可能性があるため、最終的な既知の値が実際の値と異なる可能性があります。そのため、最終結果と同じ最終値を追加する。

p.s. 記事を修正しました。記事は更新のためモデレーターに送られました。
 
Vasiliy Sokolov:

?:%:?:あった。スワップを考慮するのを忘れていました(スワップは利益に加算されません)!

今後も考慮しないことにします。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

記事の議論 "戦略バランス曲線の質の評価としてのR二乗"

fxsaber、2017.10.24 15:18

R^2に適した「エクイティ」を計算するコード。MT4スタイルで書かれているので、MT5に翻訳するのは難しくありません...

static double GetOrderProfit( void )
  {
    return((OrderProfit()/* + OrderCommission() + OrderSwap()*/) / OrderLots()); // 手数料とスワップは無視したほうがいい場合もある
  }

スワップはTSの収益性の評価とはほとんど関係がなく、堅牢性を評価するときに歪みをもたらすだけです。

 
fxsaber:

私はこれからも無視し続けるだろう

スワップはTSの収益性の評価とはほとんど関係がなく、堅牢性を評価する際に歪みをもたらすだけだ。

物議を醸す発言だ。しかし、それはここでの論点でもない。境界条件だけだ。スワップ・サイズは大きくないが、それがゼロに近い場合、その会計処理の有無が最終的な符号に影響を与える可能性がある。