⑴ 我最近在使用金牛财顺看盘,发现好多股票的除权数据缺失,请问怎样才能补全股票的除权数据啊
很简单,在K线那个界面里,鼠标右键,找到“复权”
选择向前复权,就是以当前价格为基准,将形态补完整。所以,前复权后,价格不变。
选择向后复权,就是以前期价格为基准,将形态补完整。所以,后复权后,价格会进行累加。
⑵ 股价数据缺失,用什么插值法补齐较好
meigushe888:
将这些错误的数据当错缺失数据处理,需要采取一定的手段填充。缺失的数据采取插值法填充,这一点早就确定下来,但在如何实现上却困扰很久。将原始问题简化一下。比如有这样一组数据。ID so co1 1 0.1 0.1 2 0 0.2 3 0.2 0 4 0 0 5 0 0.4 6 0.1 0.5插值法计算方法如下:(也可以不使用这两个步骤,只要最后的结果一致就行) 步骤一:计算缺失值上下的已知值间的斜率: k = (b2 - b1)/(n + 1) n 为缺失数据的个数 步骤二:计算对应的缺失值 a(i) = b1 + k * i 经过处理后,得到的数据是这样的:1 0.10 0.102 0.15 0.203 0.20 0.274 0.17 0.335 0.13 0.406 0.10 0.50我最初的想法是:在sql语句中用for循环来做。逐条地检查每个数值,如果是0,那么获取它的前一个记录的值b1,然后再继续向后遍历,获取后面一个非0的值b2,计算这两个非0数据之间的距离n,之后再用插值法将缺失的数据计算出来,并update到b1和b2之间的每一个值。按照这个思路,很麻烦,比如遍历过程中如何获取前一个数值?出现0的时候,如何记录出现多少个0?for循环经过后,再如何update之前的数值? 被这些问题困扰很久!在论坛上发帖解决,解决的办法很受启发。1. 创建一个函数ALTER FUNCTION FUN_CO(@ID INT) RETURNS DECIMAL(18, 3) AS BEGIN DECLARE @NUM1 NUMERIC(19,2),@ID1 INT,@NUM2 NUMERIC(19,2),@ID2 INT SELECT TOP 1 @ID1=ID , @NUM1=CO FROM APRECORD WHERE ID<=@ID AND CO<>0 ORDER BY ID DESC SELECT TOP 1 @ID2=ID , @NUM2=CO FROM APRECORD WHERE ID>=@ID AND CO<>0 ORDER BY ID ASC IF @ID2<>@ID1 RETURN @NUM1+(((@NUM2-@NUM1)/(@ID2-@ID1))*(@ID-@ID1)) RETURN @NUM1 END2. 更新数据库UPDATE APRECORD SET CO=DBO.FUN_CO(ID) WHERE DAYTIME >= @BDT AND DAYTIME < @EDT 在这个解决方案中,首先查找到缺失的数据,也就是值为0的数据,然后向前查找非0数据@NUM1,以及它的编号@ID1,向后查找非0的数据@NUM2. 以及编号@ID2。也就是步骤一。然后用公式计算出填充的数据。将上述过程保存在一个函数中,在存储过程中调用。甚至不用for循环之类。
⑶ 分析股票时单独一天历史数据缺失 怎么处理
一共有2个办法:
1、进入数据管理,下载全部数据!
2、进入文件夹,找到DATA,然后再DAY里面找到该股的代码,将这个股单独删除,然后再开软件,软件会自动补充数据!
⑷ 股票开盘收盘成交量数据缺失怎么补充
股票开盘收盘的成交量的数据缺失,可以重新卸载,安装交易软件就可以弥补这个损失
⑸ 股票收盘价为缺失值时移动平均值该如何处理
股票移动平均线是按照实际交易周期计算的,以日线为例,如果当日没有交易,就不计算,有几天计算几天.
例如10天内肯定会有周六周日,周六周日也不交易也不用计算在内,你看股票走势图上面那个时间不是连续的,所以说250日均线相当于年线