SAS回归返回0系数
我正在使用以下模型运行SAS回归:SAS回归返回0系数,sas,regression,linear-regression,Sas,Regression,Linear Regression,我正在使用以下模型运行SAS回归: ods output ParameterEstimates=stock_params; proc reg data=REG_DATA; by SYMBOL DATE; model RETURN_SEC = market_premium; run; ods output close; 其中,RETURN_SEC是股票每秒的回报,market_premium是SPY指数的回报减去无风险利率(无风险利率非常接近于零,因为它处于第二
ods output ParameterEstimates=stock_params;
proc reg data=REG_DATA;
by SYMBOL DATE;
model RETURN_SEC = market_premium;
run;
ods output close;
其中,RETURN_SEC是股票每秒的回报,market_premium是SPY指数的回报减去无风险利率(无风险利率非常接近于零,因为它处于第二个水平)
然而,我在市场溢价系数中得到了很多0(不是全部,而是相当多)。当我查看日志时,它显示:
NOTE: Model is not full rank. Least-squares solutions for the parameters are
not unique. Some statistics will be misleading. A reported DF of 0 or B
means that the estimate is biased.
NOTE: The following parameters have been set to 0, since the variables are a
linear combination of other variables as shown.
market_premium = - 19E-12 * Intercept
这很奇怪。我检查了数据,结果似乎很好(尽管很多数据包含0个返回秒,这是正常的,因为有时返回值不会在几秒钟内改变,而是在几分钟内改变)
同样让我困惑的是,为什么SAS会在市场溢价=-19E-12*截距时返回0的市场溢价系数。我的意思是,当SAS看到市场溢价是截距的标量倍时,它是否将截距视为唯一变量 这是否意味着可以忽略
market\u premium
,因为截距术语充分解释了这一点?(我还注意到,19e-12
非常接近SAS中的精度下限,因此与0本身并没有太大区别……)如果截距项充分解释了这一点,那么返回秒基本上是一个常数?但这没有多大意义,除非收益率太小,无法估算。是的,我相信这基本上就是这个意思(尽管我不是统计学家)。你可能会更好地问这个问题,因为这似乎不是一个“如何在SAS中做到这一点”的问题,而是一个关于统计的一般性问题——除非你认为你做错了。我会说我不确定日期前的是否合适;你真的希望每个日期都被单独分析吗?或者这更像是一个时间序列。实际上,这听起来更像是你可能有数据问题。您是否对数据进行了标准化和规范化?所有这些0的回报可能是一个问题,我可以肯定地看到。如果您的数据在第二级没有显示,那么您是否应该将其汇总到分钟级?使用ETS(proc expand
或类似工具)来纠正错误。您的“日期”变量“by”很可能导致问题。这意味着您正分别尝试对每个符号和日期进行回归,这可能是不正确的(除非您对单个股票/日期组合有多个观察)。您应该使用时间序列过程将其转换为有效的时间序列,然后使用proc arima
或其他ETS过程创建您的模型。这是否意味着可以忽略market\u premium
,因为截距术语充分解释了这一点?(我还注意到,19e-12
非常接近SAS中的精度下限,因此与0本身并没有太大区别……)如果截距项充分解释了这一点,那么返回秒基本上是一个常数?但这没有多大意义,除非收益率太小,无法估算。是的,我相信这基本上就是这个意思(尽管我不是统计学家)。你可能会更好地问这个问题,因为这似乎不是一个“如何在SAS中做到这一点”的问题,而是一个关于统计的一般性问题——除非你认为你做错了。我会说我不确定日期前的是否合适;你真的希望每个日期都被单独分析吗?或者这更像是一个时间序列。实际上,这听起来更像是你可能有数据问题。您是否对数据进行了标准化和规范化?所有这些0的回报可能是一个问题,我可以肯定地看到。如果您的数据在第二级没有显示,那么您是否应该将其汇总到分钟级?使用ETS(proc expand
或类似工具)来纠正错误。您的“日期”变量“by”很可能导致问题。这意味着您正分别尝试对每个符号和日期进行回归,这可能是不正确的(除非您对单个股票/日期组合有多个观察)。您应该使用时间序列程序将其转换为有效的时间序列,然后使用proc-arima
或其他ETS程序创建模型。