小编pur*_*lau的帖子

使用GARCH(1,1)预测波动率

我一直在努力应对波动率预测.在网上挖掘之后,我想出了一个准解决方案.但是,结果对我来说没有意义.我想预测未来多天的波动性.我得到的sigma增加了n.ahead = 50的加班时间.我希望看到未来50天的波动性.但它不能总是增加.

假设我想从今天+ 20天预测西格玛.我该怎么做才能正确?任何提示将不胜感激.也许我应该使用ugarchroll而不是?

  library(quantmod)
    library(rugarch)

    data<-getSymbols("SPY", from="2000-01-01")
    dailyreturn<-dailyReturn(SPY$SPY.Adjusted)
    mydata<-dailyreturn[,1]

    model<-ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(0, 0), include.mean = FALSE), distribution.model = "norm")


    modelfit<-ugarchfit(spec=model,data=mydata)
    data = mydata[1:3521, ,drop=FALSE]
    spec = getspec(modelfit)
    setfixed(spec) <- as.list(coef(modelfit))
    forecast = ugarchforecast(spec, n.ahead = 50, n.roll = 3520, data = mydata[1:3521, ,drop=FALSE], out.sample = 3520)

    sigma(forecast)
    plot(forecast)
Run Code Online (Sandbox Code Playgroud)

非常感谢!

r

5
推荐指数
1
解决办法
4612
查看次数

Excel:文本字符串到日期转换

我有一个工作公式,用于以下文本到目前为止的转换.但是,我不明白为什么必须添加尾随0才能以YYYY格式显示年份.

2016年4月21日转换为2016年4月21日

=(MID(A2,4,2)&"/"&LEFT(A2,2)&"/"&RIGHT(A2,2))+0
Run Code Online (Sandbox Code Playgroud)

这非常简单直接.但是,如果你删除公式末尾的0,它将只显示16而不是2016.但我可以做Right(A2,4)而不是Right(A2,2).但我还是想知道为什么?任何人?谢谢!

excel date

4
推荐指数
2
解决办法
159
查看次数

在 R 中,如何将数据帧的某些行与某些逻辑相加?

嗨,有经验的 R 用户,

这是一件很简单的事情。我想和x通过Group.1根据一个可控变量。

x当我说这样的话时,我想通过对前两行进行分组来求和:number <- 2 如果我说3,它应该x对前三行求和Group.1

知道我如何解决这个问题吗?我应该写一个函数吗?提前谢谢大家。

  Group.1  Group.2      x
1       1     Eggs 230299
2       2     Eggs 263066
3       3     Eggs 266504
4       4     Eggs 177196
Run Code Online (Sandbox Code Playgroud)

r sum

3
推荐指数
2
解决办法
5万
查看次数

用于区分C++中的多项式的函数

我一直试图解决这个问题,但没有运气.我想要做的就是区分多项式,如P(x) = 3x^3 + 2x^2 + 4x + 5 代码末尾,程序应该评估这个函数并给我一个答案.

衍生物P(x)P'(x) = 3*3x^2 + 2*2x + 4*1.如果x = 1,答案是17.无论我如何改变循环,我都无法得到答案.

    /*
    x: value of x in the polynomial
    c: array of coefficients
    n: number of coefficients
    */
        double derivePolynomial(double x, double c[], int n) {
                double result = 0;  
                double p = 1;
                int counter = 1;

                for(int i=n-1; i>=0; i--) //backward loop
                    {
                    result = result + c[i]*p*counter;
                    counter++; // number of power
                    p = …
Run Code Online (Sandbox Code Playgroud)

c++ function

2
推荐指数
1
解决办法
2万
查看次数

如何在R中解决这样的符号函数

对于有经验的人来说,这应该很简单.我想用R求解方程.我知道你可以使用Solve()求解不同的线性/二次方程.

但我有这样的事情:

1/20 = 1/8 * (1/(12+x)) + 1/4*(1/(40+x)) + 3/4*(1/(50+x))
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何解决x?它不能手工完成.它需要一些数字方法来解决这个问题,就像在TI83中一样.

有没有一种简单快捷的方法在R中执行此操作而无需编写代码行?谢谢!

r

2
推荐指数
1
解决办法
3998
查看次数

C++为什么最简单的循环添加在控制台中显示得如此之慢?

这可能是微不足道的,但我找不到答案.我知道我的Intel i7 8核心处理器每秒可以计算数百万比特.

但是,控制台以较慢的速度显示以下简单代码.在控制台中,它已经很快但是需要一些时间才能结束.

这是因为MS修复了win32控制台窗口的刷新速度吗?先感谢您!

for(int i=1; i<=10e8;i++){
    cout<<i<<endl;
}
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
347
查看次数

array [0] = 0这怎么可能?

一个数组不能定义为c [0],它至少必须像c [1]为什么下面的代码是正确的?他在那做什么?谢谢你的解释.

编辑:对不起伙计们,我正在VS2012中编写C++代码

int foo(double c[], int n) 
{

    if (n==1) {
        c[0] = 0;      //why is this possible?
    } else {
.
.
.

}
Run Code Online (Sandbox Code Playgroud)

c++ arrays

0
推荐指数
1
解决办法
178
查看次数

标签 统计

c++ ×3

r ×3

arrays ×1

date ×1

excel ×1

function ×1

sum ×1