library(quantmod)
library(fractaldim)
getSymbols("SPY",src="yahoo", from="2019-01-01")
N <- 10# Predict the last N bars
mainData <- SPY$SPY.Close
colnames(mainData) <- c("data")
endingIndex <- length(mainData$data)-(N+1)
TEST <- mainData[1:endingIndex]
total_error <- 0
error_per_prediction <- matrix(ncol = 1,nrow = 0)
#These are the fractal dimension calculation parameters
#see the fractaldim library reference for more info
method <- "rodogram"
Sm <- as.data.frame(TEST, row.names = NULL)
delta <- c()
# calculate delta between consecutive Sm values to use as guesses
for(j in 2:length(Sm$data)){
delta <- c(delta, (Sm$data[j]-Sm$data[j-1])/Sm$data[j-1])
}
Sm_guesses <- delta
#do 100 predictions of next values in Sm
for(i in 1:N){
#update fractal dimension used as reference
V_Reference <- fd.estimate(Sm$data, method=method)$fd
minDifference = 1000000# check the fractal dimension of Sm plus each different guess and
# choose the value with the least difference with the reference
for(j in 1:length(Sm_guesses)){
new_Sm <- rbind(Sm, Sm_guesses[j]*Sm$data[length(Sm$data)]+Sm$data[length(Sm$data)])
new_V_Reference <- fd.estimate(new_Sm$data, method=method)$fd
if (abs(new_V_Reference - V_Reference) < minDifference ){
Sm_prediction <- Sm$data[length(Sm$data)]+Sm_guesses[j]*Sm$data[length(Sm$data)]
minDifference <- abs(new_V_Reference - V_Reference)
}
}
print(i)
#add prediction to Sm
Sm <- rbind(Sm, Sm_prediction)
}
id <- endingIndex:(endingIndex+N)
pred <- Sm$data[id]
real <- as.data.frame(mainData$data[id], row.names = NULL)
plot(pred, type="l",col=2,ylim = range(pred,real),lty=3)
lines(real,lwd=2)
インターネットをほぼ丸ごとアーカイブしている素晴らしいサイトがあるんです。
super!!!ありがとうございます。
私見では、100~200~500日前にシリーズを予想してもあまり意味がないと思います。シリーズとその動きを左右する勢力を劇的に変化させるには、あまりに多くのことが起こり得るのです。
1-10時間先のM1-M15予測のために、このコード(記事3の方が良い、より安定している)を繰り返すことができますか?1時間でも十分スプレッドを打ち破り、利益を出すことができます。
これが成功すれば、その方法を仕事に生かすことができます。
私の理解では、著者たちはアルゴリズムそのものをあまり明らかにせず、次のような格言を作っています。
そのため、GenericPredメソッドでは、2つの基本的なルールを使用しています。
R1: 予測中は常に非線形測定の値をできるだけ安定させるように努める(図3)。
R2: 新しい値は、確率分布から生成される潜在的な値の集合から選択される必要がある。
予測は、次のステップの有効な変化範囲を決定するために、現在のステップでの予測値が必要となるため、1ステップずつ進めていく必要がある。
私が推測する限り、最初に何らかのロジスティックな線形成分が選択され、その後、各ステップで非線形成分がモデル化され、主な基準は系列の確率的特性のいくつかのセットの安定性です。一般的には漠然としたものですが、結果的には印象的でした。
私見では、このアプローチはRの "prophet "パッケージで使われているものといくらか似ているように思います。
もう少しよく見てみると......なんだか勘違いしているようですね。彼らは、オリジナルの系列から、スライド式の非線形測度を作っている(フラクタル次元やリアプノフの指数について書いている)。この新シリーズは、SBに近いと彼らは考えている(実践的な観察に基づく)。そして、この系列を将来的にモンテカルロ法で掛け合わせ、初期集合に最も近くなる変種を選ぶのである。
その秘密は、最初の系列を一連のメトリクスに変換すること、そしてさらに重要なことは、その逆変換にある。
全体として、これらのことは怪しく見え(まず、結果の発表のスタイル)、この問題をさらに研究しようという気にはあまりならないのである。
もう少しよく見てみると......やや勘違いしていたようだ。彼らは、元の系列からスライド式の非線形メトリクスを作る(彼らはフラクタル次元とリアプノフの指数について書いている)。この新シリーズは、SBに近いと彼らは考えている(実践的な観察に基づく)。そして、この系列を将来的にモンテカルロ法で掛け合わせ、初期集合に最も近くなる変種を選ぶ。
その秘密は、最初の系列を一連のメトリクスに変換すること、そしてさらに重要なことは、その逆変換にある。
全体として、これらのことは怪しく見え(まず、結果の発表のスタイル)、この問題をさらに研究しようという意欲をあまり かき立てない。
吐き気を催すようなうんこみたいだ、と言い換えてもいい )
クランプを計算すると、最後のバーの素朴な価格予測より悪くなります
その秘密は、元の系列を一連のメトリクスに変換する具体的な変換の種類と、さらに重要なのはその逆変換であることに変わりはない。
コードがあるんです!
まあ、DCやECNのサーバーには入れないので)全部自分たちで作るしかないんですけどね(笑)
たとえ入れてもらったとしても、あまり意味はない)価格を知るスピードや、多少の正しさは本質を変えません。しかし傾向としては、価格調査やFAデータの推定アルゴリズムの能力が向上しており、後者は残念ながらかなり遅くなっている。しかし、トレンドはそこにある)))そして、最初に結果をマージできるようになった人が、しばらくトップになる))))...。
2014年の記事そのロシア語訳や、人気のある「貿易商の先生」の著作にその記述があるのは間違いないだろう。
漠然と覚えているのは、「トレンドがあるときは予報がよく、トレンドに変化があるときは予報が外れる」という煮え切らない話。十分な距離感がなかった)
MoDの話題は、面白いことにDSPとArimのレベルまで降りてきている
この記事の著者は有馬やGarchをうまく使いこなせなかったので、直線を示さないが
正弦波について詳しく書くなど。コードはそこにある!
記事の著者が第3部のコードを書いたときに何が問題だったのかわかりませんが、3か所でコードが「壊れて」いました、すず...。
直しました。
シンク by honeybunny
MoDの話題がCOCのレベルにまで降りてきた・・・・。
多くを知らなければ、不思議しかない...。