|
|
@ -2471,7 +2471,7 @@ int64_t komodo_pricecorrelated(uint64_t seed,int32_t ind,uint32_t *rawprices,int |
|
|
|
if ( lowprice == refprice ) |
|
|
|
lowprice--; |
|
|
|
sum = 0; |
|
|
|
//fprintf(stderr,"firsti.%d: ",i);
|
|
|
|
fprintf(stderr,"firsti.%d: ",i); |
|
|
|
for (j=0; j<PRICES_DAYWINDOW; j++,i++) |
|
|
|
{ |
|
|
|
if ( i >= PRICES_DAYWINDOW ) |
|
|
@ -2483,14 +2483,14 @@ int64_t komodo_pricecorrelated(uint64_t seed,int32_t ind,uint32_t *rawprices,int |
|
|
|
} |
|
|
|
if ( price >= lowprice && price <= highprice ) |
|
|
|
{ |
|
|
|
//fprintf(stderr,"%.1f ",(double)price/10000);
|
|
|
|
fprintf(stderr,"%.1f ",(double)price/10000); |
|
|
|
sum += price; |
|
|
|
correlation++; |
|
|
|
if ( correlation > (PRICES_DAYWINDOW>>1) ) |
|
|
|
{ |
|
|
|
if ( nonzprices == 0 ) |
|
|
|
return(refprice * mult); |
|
|
|
//fprintf(stderr,"-> %.4f\n",(double)sum*mult/correlation);
|
|
|
|
fprintf(stderr,"-> %.4f\n",(double)sum*mult/correlation); |
|
|
|
//return(sum*mult/correlation);
|
|
|
|
n = 0; |
|
|
|
i = (iter + seed) % PRICES_DAYWINDOW; |
|
|
@ -2508,12 +2508,12 @@ int64_t komodo_pricecorrelated(uint64_t seed,int32_t ind,uint32_t *rawprices,int |
|
|
|
else |
|
|
|
{ |
|
|
|
nonzprices[i] = price; |
|
|
|
//fprintf(stderr,"(%d %u) ",i,rawprices[i*rawskip]);
|
|
|
|
fprintf(stderr,"(%d %u) ",i,rawprices[i*rawskip]); |
|
|
|
n++; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//fprintf(stderr,"ind.%d iter.%d j.%d i.%d n.%d correlation.%d ref %llu -> %llu\n",ind,iter,j,i,n,correlation,(long long)refprice,(long long)sum/correlation);
|
|
|
|
fprintf(stderr,"ind.%d iter.%d j.%d i.%d n.%d correlation.%d ref %llu -> %llu\n",ind,iter,j,i,n,correlation,(long long)refprice,(long long)sum/correlation); |
|
|
|
if ( n != correlation ) |
|
|
|
return(-1); |
|
|
|
sum = den = n = 0; |
|
|
@ -2521,7 +2521,7 @@ int64_t komodo_pricecorrelated(uint64_t seed,int32_t ind,uint32_t *rawprices,int |
|
|
|
if ( nonzprices[i] != 0 ) |
|
|
|
break; |
|
|
|
firstprice = nonzprices[i]; |
|
|
|
//fprintf(stderr,"firsti.%d: ",i);
|
|
|
|
fprintf(stderr,"firsti.%d: ",i); |
|
|
|
for (i=0; i<PRICES_DAYWINDOW; i++) |
|
|
|
{ |
|
|
|
if ( (price= nonzprices[i]) != 0 ) |
|
|
@ -2536,7 +2536,8 @@ int64_t komodo_pricecorrelated(uint64_t seed,int32_t ind,uint32_t *rawprices,int |
|
|
|
fprintf(stderr,"seed.%llu n.%d vs correlation.%d sum %llu, den %llu\n",(long long)seed,n,correlation,(long long)sum,(long long)den); |
|
|
|
return(-1); |
|
|
|
} |
|
|
|
//fprintf(stderr,"firstprice.%llu weighted -> %.8f\n",(long long)firstprice,((double)(sum*mult) / den) / COIN);
|
|
|
|
std::cerr << "sum=" << sum << " mul=" << mul << " den=" << den << std::endl; |
|
|
|
fprintf(stderr,"firstprice.%llu weighted -> %.8f\n",(long long)firstprice,((double)(sum*mult) / den) / COIN); |
|
|
|
return((sum * mult) / den); |
|
|
|
} |
|
|
|
} |
|
|
|