傅立叶的帮助 - 页 9

 
ANG3110 писал (а):

如果我们为傅里叶分解做一个骨架,这并不是一个坏结果。特别是,我们可以很容易地向前推断回归,并绘制相对于它的傅里叶图。有可能将铣刀拟合为一个支撑点,并在一个单独的窗口中绘制谐波的总和,就像铣刀线性延续一样。你可以把它建立在一个平滑变化的平均值上,如T3,向后移动半个周期,以准确地适应数据,用抛物线推算末端,调整为最小有效值,并绘制相对于这个推算的傅里叶图。但无论如何,如果我们建立不同周期的傅里叶外推法的几个变体,并在最小有效值方面对每个变体进行优化,就很有可能出现重复的周期。如果几个变体的读法有重合之处,就可以认为它们是可能的。如果有进一步的提前或滞后,这将产生一个修正的差异信号,可用于自动调谐或重新计算。这让人联想到无线电接收器中的FATF探测器,它是最有效的,对干扰的免疫。
实际上,在不提前考虑时间的情况下,输出傅里叶数列并不是什么大问题,这样就可以使终点接近数列。 有趣的是,未来报价的傅里叶的输出。你已经贴出了你的指标绘制未来时间的傅里叶序列的截图,这与现实很吻合。它是根据什么原则运作的?
 
shobvas писал (а):

好吧,实际上,在不超前的情况下输出傅里叶数列并不是什么大问题,这样一来,终点就接近数列了。 输出未来报价的傅里叶是很有意思的。你已经贴出了你的指标绘制未来时间的傅里叶序列的截图,这与现实很吻合。它是根据什么原则运作的?
分解是相对于LinearRegressin进行的。像收音机一样,为了获得最佳的可听性,最好是调到最小的噪音和最大的信号,也就是说,调谐是以最小的有效值进行的。为了方便改变周期--应用直线或回归通道脚本。终端数据被捕获并传输到指标。因此,通过移动这些线,我们立即改变了周期,并重新计算了整个画面。评论显示的是有效值,调整是根据最小有效值加上眼睛的小偏移来进行的,以使高点和低点尽可能地重合。我们还通过函数GetAsyncKeyState(int nVirtKey)增加了改变谐波数的能力,然后通过按键盘上适当的箭头,我们可以快速增加或减少谐波数。同样是通过脚本来完成的,它把这一切都画了出来。我以前已经写过一点关于设置和变体的文章。对于不同的时期和不同的可信度,谐波的数量是不同的。
但如果最小谐波为12至24小时,最小周期为2-3天或更长时间,则可能会获得或多或少的满意结果。这是针对每天的预测。对于全球预测,技术是相同的,但周期当然更长。根据不同的规模,长期的月度和年度预测与真实的数据非常吻合,特别是在一些频率上,它们以非常高的概率周期性地重复。为了得到这些频率的统计数据--做了一个巧妙的频谱分析器,也可以拖动整个时间范围。
 
ANG3110 писал (а):
那里的分解是相对于LinearRegressin进行的。尾巴就像收音机一样,为了获得最佳的可听性,最好是调出最小的噪音和最大的信号,即按照最小有效值进行调音。为了方便改变周期--应用直线或回归通道脚本。终端数据被捕获并传输到指标。因此,通过移动这些线,我们立即改变了周期,并重新计算了整个画面。评论显示的是有效值,调整是根据最小有效值加上眼睛的小偏移来进行的,以使高点和低点尽可能地重合。我们还通过函数GetAsyncKeyState(int nVirtKey)增加了改变谐波数的能力,然后通过按键盘上适当的箭头,我们可以快速增加或减少谐波数。同样是通过脚本来完成的,它把这一切都画了出来。我以前已经写过一点关于设置和变体的文章。对于不同的时期和不同的可信度,谐波的数量是不同的。
但如果最小谐波为12至24小时,最小周期为2-3天或更长时间,则可能获得或多或少的满意结果。这是针对每天的预测。对于全球预测,技术是相同的,但周期当然更长。根据不同的尺度,长的时间尺度,数月和数年将产生非常好的真实数据的拟合,特别是一些频率,它们以非常高的概率周期性重复。为了得到这些频率的统计数据--做了一个巧妙的频谱分析器,也可以拖动整个时间范围。

我真的不明白这个...
傅里叶数列是由价格的差异和回归线的值建立的,对吗?

关于尾部的情况不是很清楚,虽然....。对最小有效值的调整是什么?
提前感谢您的回答 =)
 
shobvas писал (а):
我真的不明白...
傅里叶数列是由价格的差异和回归线的值构建的,对吗?

关于尾巴的问题不是很清楚,虽然....。对最小有效值的调整是什么?
提前感谢您的回答 =)

是的,首先我们计算LR[i]的坐标。然后,数组dc[i]=Close[i]-LR[i];从数组dc[i]建立傅里叶fx[i]。并加上LR[i]坐标。 fx[i]=fx[i]+LR[i]或fx[i]+=LR[i];如果我们外推,我们计算i=0之前和之后的LR[i]和fx[i](你可以自己捡起来)。
尾部 "是指从i=T到i=0之间已知的内容;由于我们可以用脚本来转移、缩小或拉伸估计周期(T),所以每次转移时我们都会自动重新计算 "尾部 "的有效值。
即sq=0.0; for (int n=0; n<T; n++) sq+=(Close[i0+n]-fx[n])*(Close[i0+n]-fx[n]); sq=MathSqrt(sq/T); 并设置为最小有效值(sq)。
在我的截图中,"尾巴 "显示为黄色和绿色,而推断则显示为红色和蓝色。
一般来说,一开始所有这些建设都需要大量的时间和精神努力,如果你觉得自己还没有准备好,那就等你成熟后再做。否则,你可能会对这一切感到厌倦,而且对结果不满意。
 
ANG3110 писал (а):
是的,首先我们计算LR[i]的坐标。然后,数组dc[i]=Close[i]-LR[i];从数组dc[i]建立傅里叶fx[i]。并加上LR[i]坐标。 fx[i]=fx[i]+LR[i]或fx[i]+=LR[i];如果我们外推,我们计算i=0之前和之后的LR[i]和fx[i](你可以自己捡起来)。
尾部 "是指从i=T到i=0之间已知的内容;由于我们可以用脚本来转移、缩小或拉伸估计周期(T),所以每次转移时我们都会自动重新计算 "尾部 "的有效值。
即sq=0.0; for (int n=0; n<T; n++) sq+=(Close[i0+n]-fx[n])*(Close[i0+n]-fx[n]); sq=MathSqrt(sq/T); 并设置为最小有效值(sq)。
在我的截图中,"尾巴 "显示为黄色和绿色,而推断则显示为红色和蓝色。
总的来说,一开始所有这些建设都需要大量的时间,如果你觉得自己还没有准备好,那就等到你足够成熟的时候。 否则你可能会对这一切感到厌倦,而且你得到的结果也不会令人满意。

那么,最小有效值是由T设定的,我的理解对吗?
或者在傅里叶分解中的谐波频率的数量是由最小有效值调整的?

然而,最有趣的事情,即傅里叶函数的外推是如何进行的,你还是没有告诉=)
 
shobvas писал (а):
所以最小有效值被设定为T,我说的对吗?
或者在傅里叶分解中的谐波频率的数量是由最小有效值调整的?

然而,最有趣的是如何进行傅里叶函数的外推=)
作为计算线性回归的结果,我们将得到公式LR[i]=b+a*i。
作为傅里叶计算的结果,我们将得到谐波数N,系数ak[k],bk[k],其中k对应于谐波数(k=0. ..N);以及傅里叶计算公式sum=0.0; for(k=0; k<=N; k++) sum+=ak[k]*MathCos(w*k*i)+bk[k]*MathSin(w*k*i); fx[i]=sum。
现在,如果我们想推断,比如说,提前半个时期,我们计算一下
数据从T到-T/2;for(int i=T; i>=-T/2; i--),但由于数组必须只包含正数索引,我们把从-1到-T/2的东西放到第二个数组中,或者有一个技巧,通过把所有元素向后移+T/2来绕过分成两个数组,这个移位在绘图时被考虑。其余的描述只有在我们已经有了这种结构的经验时才有意义。 在脚本中,我们在向前绘制时完全没有问题。 在指标中,我们应该使用SetIndexShift( )。
 

也就是说,你在i<0处通过公式计算出fx[i]。

sum=0.0; for(k=0; k<=N; k++) sum+=ak[k]*MathCos(w*k*i)+bk[k]*MathSin(w*k*i); fx[i]=sum。

像这样吗?

而你建立的是什么时期的傅里叶函数?[T,0]?

 
shobvas писал (а):

也就是说,你在i<0处通过公式计算出fx[i]。

sum=0.0; for(k=0; k<=N; k++) sum+=ak[k]*MathCos(w*k*i)+bk[k]*MathSin(w*k*i); fx[i]=sum。

像这样吗?

而你建立的是什么时期的傅里叶函数?[T,0]?

SetIndexShift(0,T/2)。

for (i=T; i>=-T/2; i--)
{
sum=0.0。
for(int k=0; k<=N; k++) sum+=ak[k]*MathCos(w*k*i)+bk[k]*MathSin(w*k*i)。
fx[i+T/2]=sum+b+a*i。
}
 

系数ak、bk究竟是如何计算的?

积分是在哪个区间进行的? 从T到0还是什么?

 
shobvas писал (а):

系数ak、bk究竟是如何计算的?

积分是在哪个区间进行的? 从T到0还是什么?


for (int k=0; k<=N; k++)
{
sum_cos=0.0。
sum_sin=0.0。
for (int i=0; i<T; i++)
{
sum_cos+=(Close[i]-b-a*i)*MathCos(w*k*i)。
sum_sin+=(Close[i]-b-a*i)*MathSin(w*k*i)。
}
ak[k]=sum_cos*2/T。
bk[k]=sum_sin*2/T。
}
ak[0]=ak[0]/2。