2017-08-21 6 views
1

パフォーマンスアナリティクスパッケージを使用して、毎日の利益のドローダウングラフをプロットしようとしています。私はこのコードでこれを行うことができました:パフォーマンスアナリティクスのドローダウン機能が動作しないr

cols = rainbow(ncol(pdrawdown),s=0.7, v=0.8, alpha= 0.7) 
chart.Drawdown(pdrawdown, legend.loc = "bottomleft",colorset = cols, 
       main = "Drawdown Chart", xlab ="Date", ylab = "Drawdown") 

%しかし、私が利益を使用すると(それよりはるかに大きな数字を扱う)、グラフィックスウィンドウにはテーブルが表示されず、エラーメッセージや警告メッセージも表示されません。

マイpdrawdownデータはそうのように構成されています

structure(list(Arbitrage = c(-410344.36040002, 43186613.0914002, 
-56243745.8289002, 33212085.9369, 2685633.86650004, 52056396.8137002 
), Cmdty = c(-5661740.59000004, -12816611.3327999, -15271367.5797001, 
30328698.7996001, 2346206.95040001, -20111667.3121), Cnvt = c(-0.448500000005879, 
-4.09389999999985, -3.76900000000023, -4.46530000000348, 9.47310000000289, 
5.57809999999154), FI = c(-4959851.92789985, 51301719.2496983, 
19347533.8012021, -45928596.3382014, -126566982.481699, 7039919.16710053 
), IndexArb = c(465514.007300064, 712460.314099789, -1241298.64239982, 
859103.288600107, -9142.46960010222, 1670160.15220016), OptVolD = c(3207463.8402, 
-2645827.2004, 1917467.1194, -1645717.199, 1346643.9976, 1249267.9222 
), OptVolG = c(1809178.81009999, -1247076.75579998, 1208738.92329999, 
-998966.340099988, 474978.958799993, 2312496.41480001), Other = c(3121114.45319998, 
-7558428.4574, 28751941.5262, -8287057.41060003, -5057308.97439997, 
25541692.1845), RVG = c(107064420.2606, 41122417.5658004, -33634242.2959002, 
-25318480.7920002, -9396822.53510034, 69874891.7186005), SAAsia = c(-31022426.4966, 
-1381533.43030003, 21484053.8479001, 15456037.1175, 11307323.7993999, 
8081090.74740009)), .Names = c("Arbitrage", "Cmdty", "Cnvt", 
"FI", "IndexArb", "OptVolD", "OptVolG", "Other", "RVG", "SAAsia" 
), row.names = c("2015-08-03", "2015-08-04", "2015-08-05", "2015-08-06", 
"2015-08-07", "2015-08-10"), class = "data.frame") 

は更新:グラフが表示されるようになりますが、それはまだどんな私の、効果的に無意味なデータを表示しません

cols = rainbow(ncol(pdrawdown),s=0.7, v=0.8, alpha= 0.7) 
chart.Drawdown(pdrawdown, legend.loc = "bottomleft",colorset = cols, 
       main = "Drawdown Chart", xlab ="Date", ylab = "Drawdown",ylim = c(-1,0)) 
すなわちYLimプロパティ値を設定します下限はイルミムです。しかし、リターンでは、このylim項は期待通りに機能し、プロットの軸を固定します。

答えて

0

誰も答えを出すことができなかったので、今後誰かがこの問題に遭遇した場合に備えて、ベストソリューションを投稿します。

私が知る限りでは、ドローダウンPnLが大きすぎるため、(予想どおり)単純に原因があります。私のこれは、これは私のYスケールがそうのような数十億であることを意味し、私の場合、すべての値が1未満であることが原因となる数でデータテーブルを分割することでした修正するために「ハック」:

少ない任意の数で割る
pdrawdown = pdrawdown/1000000000 # PnL displays in billions (set units here) 

cols = rainbow(ncol(pdrawdown),s=0.7, v=0.8, alpha= 0.7) 
chart.Drawdown(pdrawdown, legend.loc = "bottomleft",colorset = cols, 
       main = "Drawdown Chart", xlab ="Date", ylab = "Drawdown ($billions) 

同じデータのリターングラフに似ていない大規模なジャンプを含む非常に奇妙なグラフを作成しました。

これは、ドローダウングラフがパーセンテージ用に設計されているため、0と-1の間の数値しか扱うことができないと考えられます(最大ドローダウン率はもちろん100%です)。

関連する問題