More for fun than anything, but might as well share here.
Using
Critticall, only btc/usd rate per difficulty change as input data.
Running for about 36hrs on two i7 cores. (which is not really much for that many data points)
Some comments from -assets;
02:44.06 ( pizzaman1337 ) kakobreklaa: red line seems much more likely... (plus more noise)
09:41.29 ( mircea_popescu ) tbh i think algo 1 is better.
09:42.01 ( mircea_popescu ) at least on the long term
Feel free to continue the evolution from this point on, or start from scratch. It may bring out different results, but will be getting closer and closer as time progresses. I'll leave this running for a while then change the data sets and include some support sequences as well. Usefulness of this is limited, but it sure is interesting.
$DECLAREINT sample_size sample_size_test zero i j predicted cumulative_discord observation prediction discord infinity thousand minus_one seq_a_size seq_b_size seq_c_size seq_d_size seq_e_size seq_f_size seq_g_size seq_h_size seq_i_size seq_j_size seq_k_size seq_l_size seq_m_size seq_n_size x y z w q r s t u v
$DIMENSION observation_array[100] target_sequence[100] discord_array[100] relative_discord[100]
$INVAR observation_array[](5,5,6,7,7,6,6,6,9,10,19,27,27,21,21,25,30,39,44,86,104,93,85,88,67,115,329,380,714,855,1846,1968,1559,1480,1404,1317,1130,878,584,492,401,319,251,279,318,404,705,629,592,427,469,535,477,489,508,505,512,546,667,651,834,895,1164,1045,1094,1241,1284,1179,1075,1100,1236,1342,1334,1372,1722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
$WEIGHTS commands=0 OPERATION_-=1 lines=1
$SHOWVAR cumulative_discord observation_array[] target_sequence[] discord_array[] relative_discord[]
$RESVAR observation_array[] discord_array[] relative_discord[] zero observation prediction discord cumulative_discord sample_size sample_size_test i j infinity minus_one thousand seq_a_size seq_b_size seq_c_size seq_d_size seq_e_size seq_f_size seq_g_size seq_h_size seq_i_size seq_j_size seq_k_size seq_l_size seq_m_size seq_n_size
$RESCOM VAR_TO_ARRAY
$PENVAL cumulative_discord
$MINIMIZE LINES 92
$SOUND OFF
x=0;
y=0;
z=0;
w=0;
q=0;
r=0;
s=0;
t=0;
u=0;
v=0;
zero=0;
minus_one=-1;
thousand=1000;
infinity=1000000;
seq_a_size=0;
seq_b_size=0;
seq_c_size=0;
seq_d_size=0;
seq_e_size=0;
seq_f_size=0;
seq_g_size=0;
seq_h_size=0;
seq_i_size=0;
seq_j_size=0;
seq_k_size=0;
seq_l_size=0;
seq_m_size=0;
seq_n_size=0;
sample_size=100;
sample_size_test=75;
i=zero;
predicted=0;
while (i$BES
w+=3;
z=target_sequence[z];
predicted+=1;
if (z>v) {
if (x==y) {
predicted+=-3;
predicted*=6;
q=t^q;
v=sqrt(predicted);
goto labelcritticall15;
}
r&=-9;
r+=-30;
y=q;
t=!predicted;
predicted=!q;
predicted=predicted-r;
q=w;
w=t&v;
w+=-1;
r+=-7;
labelcritticall15:;
r=x^r;
z=v;
x+=1;
}
r+=-3;
z+=18;
$EES
target_sequence[i]=predicted;
i++;
}
cumulative_discord=zero;
i=zero;
predicted=0;
while (i observation=observation_array[i];
prediction=target_sequence[i];
discord=prediction-observation;
discord_array[i]=discord;
relative_discord[i]=minus_one;
discord=abs(discord);
discord*=1;
cumulative_discord=cumulative_discord+discord;
if (discord == zero) {
relative_discord[i]=minus_one;
} else {
if (observation == zero) {
relative_discord[i]=thousand;
} else {
if (discord < infinity) {
discord=discord*thousand;
discord=discord/observation;
relative_discord[i]=discord;
cumulative_discord=cumulative_discord+discord;
}
}
}
i++;
}
$DECLAREINT sample_size sample_size_test zero i j predicted cumulative_discord observation prediction discord infinity thousand minus_one seq_a_size seq_b_size seq_c_size seq_d_size seq_e_size seq_f_size seq_g_size seq_h_size seq_i_size seq_j_size seq_k_size seq_l_size seq_m_size seq_n_size x y z w q r s t u v
$DIMENSION observation_array[100] target_sequence[100] discord_array[100] relative_discord[100]
$INVAR observation_array[](5,5,6,7,7,6,6,6,9,10,19,27,27,21,21,25,30,39,44,86,104,93,85,88,67,115,329,380,714,855,1846,1968,1559,1480,1404,1317,1130,878,584,492,401,319,251,279,318,404,705,629,592,427,469,535,477,489,508,505,512,546,667,651,834,895,1164,1045,1094,1241,1284,1179,1075,1100,1236,1342,1334,1372,1722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
$WEIGHTS commands=0 OPERATION_-=1 lines=1
$SHOWVAR cumulative_discord observation_array[] target_sequence[] discord_array[] relative_discord[]
$RESVAR observation_array[] discord_array[] relative_discord[] zero observation prediction discord cumulative_discord sample_size sample_size_test i j infinity minus_one thousand seq_a_size seq_b_size seq_c_size seq_d_size seq_e_size seq_f_size seq_g_size seq_h_size seq_i_size seq_j_size seq_k_size seq_l_size seq_m_size seq_n_size
$RESCOM VAR_TO_ARRAY
$PENVAL cumulative_discord
$MINIMIZE LINES 92
$SOUND OFF
x=0;
y=0;
z=0;
w=0;
q=0;
r=0;
s=0;
t=0;
u=0;
v=0;
zero=0;
minus_one=-1;
thousand=1000;
infinity=1000000;
seq_a_size=0;
seq_b_size=0;
seq_c_size=0;
seq_d_size=0;
seq_e_size=0;
seq_f_size=0;
seq_g_size=0;
seq_h_size=0;
seq_i_size=0;
seq_j_size=0;
seq_k_size=0;
seq_l_size=0;
seq_m_size=0;
seq_n_size=0;
sample_size=100;
sample_size_test=75;
i=zero;
predicted=0;
while (i$BES
y|=1;
while (t y^=15;
w+=-16;
r+=2;
if (t r+=6;
y=t;
w+=-160;
v<<=7;
if (r>predicted) {
v=r;
y=0;
t=17;
}
predicted=0;
t+=13;
}
v+=-1;
}
v+=1;
v^=5;
t=10;
r+=1;
predicted=r|v;
v=target_sequence[y];
predicted+=-1;
w=r;
$EES
target_sequence[i]=predicted;
i++;
}
cumulative_discord=zero;
i=zero;
predicted=0;
while (iobservation=observation_array[i];
prediction=target_sequence[i];
discord=prediction-observation;
discord_array[i]=discord;
relative_discord[i]=minus_one;
discord=abs(discord);
discord*=1;
cumulative_discord=cumulative_discord+discord;
if (discord == zero) {
relative_discord[i]=minus_one;
} else {
if (observation == zero) {
relative_discord[i]=thousand;
} else {
if (discord < infinity) {
discord=discord*thousand;
discord=discord/observation;
relative_discord[i]=discord;
cumulative_discord=cumulative_discord+discord;
}
}
}
i++;
}