上图中蓝色线是测试数据中第一个因素的数值图。彩色的每一段是预测的趋势,即当曲线向上表示这一段区间之后的股票可能会涨,曲线向下表示这一区间之后的股票可能会跌,当然,曲线的幅度也决定了涨跌的幅度。还有一个要强调的是,这个模型的分段预测曲线只能预测接下来一小段时间内的涨跌情况,不能够预测的很长远,也不能预测某一个值
Block or report ywtsq
Contact GitHub support about this user’s behavior. Learn more about 股票的K线图的均线的数据是怎么计算出来的 reporting abuse.
Popular repositories
iOS curve (circular、arc、circle) progress view, supports gradient color, any angle, IBDesignable & IBInspectable, etc..
iOS 股票的K线图 分时图 Kline
(CAShapelayer + UIBezierPath)绘制K线支撑横竖屏切换、刷新、长按、缩放、masonry适配,完美支持金融产品 非常的流畅,占用内存少,使用矢量进行填充K线,持续更新,有问题请添加QQ:2438100263 喜欢的可以添加群:362681337
高仿火币K线图 实现OC Swift Flutter 三个版本
A 股票的K线图的均线的数据是怎么计算出来的 simple stock chart framework.
12 contributions in the last year
Contribution activity
August 2022
Footer
© 2022 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
极少人知道的OBV能量潮指标,威力巨大
OBV能量潮指标(On Balance Volume,简称OBV)是葛兰维(Joe Granville)于本世纪60年代提出的,并被广泛使用,算是比较冷门的指标,虽然冷门,但是却威力巨大!股市技术分析的四大要素:价、量、时、空。OBV指标就是从“量”这个要素作为突破口,来发现热门股票、分析股价运动趋势的一种技术指标。它是将股市的人气—成交量与股价的关系数字化、直观化,以股市的成交量变化来衡量股市的推动力,从而研判股价的走势。关于成交量方面的研究,OBV能量潮指标是一种相当重要的分析指标之一。
基于LSTM算法的股票预测详解
10生万物 于 2021-05-25 15:34:43 发布 6048 收藏 80
给定几个已知的股市因素(开盘、收盘、最高、最低、成交量、成交额)及各因素对应的大量数据,训练一个该股票的涨跌趋势的预测模型。并在给定的测试数据的条件下求出接下来的涨跌趋势。即得到下图中的label值。-1代表跌、1代表涨。
1、LSTM简单介绍
LSTM这个算法是专门训练有时间序列信息的数据的,即这些数据不仅按照时间递增的顺序排布,并且前后的数据都有着很强的联系。个人认为与马尔可夫的思想差不多,即后面的值由前面的值来决定。本次需求是要根据已知的股市数据来分析某个时间段的涨跌趋势,并预测接下来该股票是涨还是跌,但是这里的股票预测存在一些问题:
(1)股票的涨跌不仅仅依赖上图中所给的几个因素,还有很多很多,所以预测的结果会有些偏差。
(2)LSTM算法本身就存在一个只考虑整体和前置信息的算法,没有考虑一些突发事件(比如马斯克宣布比特币不能购买特斯拉之后,比特币暴跌。。。)造成的偏差。
(3)LSTM算法默认所有的因素互相都是正相关的,比如A因素值在接下来一段时间内增加,B减少,如果将这两个因素结合起来训练的话得到的效果还不如只考虑一个A因素得到的效果好。(这里不是空说,我将每个因素都带入到网络中进行了训练和测试,得到的结果差异很大,就是说得到的模型预测趋势和测试数据完全不一样)
代码包分为几个部分:
1、run.py:主要运行代码
2、core.model.py:主要模型代码
3、core.dataprocessor.py:数据处理代码
4、config.json:配置文件
(1)model.predict_point_by_point:单点预测
效果如下:
这个函数代码如下:
(2)predictions_fullseq:全局预测
这里的window_size就是步长,data是测试数据。
predicted.append(self.model.predict(curr_frame[newaxis. ])[0,0])
作用就是将测试整体数据都代入到模型中得到一个预测值,将这个预测值加到列表predicted中,然后下面这个函数
curr_frame = np.insert(curr_frame, [window_size-2], predicted[-1], axis=0)
作用就是把预测值列表中的最后一个值赋值给curr_frame的最后一条数据的所有维度(维度就是你一开在配置文件中设置的input_dim)。
例如:
predicted=[1,2,3,4]
curr_frame=[[5,6,7,8][9,10,11,12]]变成了[[9,10,11,12][4,4,4,4]]
这样的话原始的curr_frame就有了前面的预测信息4,依次类推
下一个predicted增加之后如下:
predicted=[1,2,3,4,5]
curr_frame=[[5,6,7,8][9,10,11,12]]变成了[[4,4,4,4][5,5,5,5]
。
。
。
这样进行下去之后,所有的curr_frame的各维度信息都一样了,预测曲线也就趋于平均值了。 股票的K线图的均线的数据是怎么计算出来的
综上
本函数的作用就是把所有的测试数据都丢到模型中预测出一个值,然后用这一个值来更新原来的测试数据,以此类推,循环进行len(data)次,即可得到全局的涨跌趋势,当然,结果表明,很差劲!!!
该方法效果如下:
上图中蓝色线是测试数据中第一个因素的数值图。彩色的每一段是预测的趋势,即当曲线向上表示这一段区间之后的股票可能会涨,曲线向下表示这一区间之后的股票可能会跌,当然,曲线的幅度也决定了涨跌的幅度。还有一个要强调的是,这个模型的分段预测曲线只能预测接下来一小段时间内的涨跌情况,不能够预测的很长远,也不能预测某一个值
备注:
(1)如果我给定了一些数据,怎么预测涨跌?
首先模型训练前要确定好步长,步长决定了你需要输入的数据数。比如你模型的步长是50,那么你在测试的时候输入的数据数必须要大于50(否则无法代入到lstm模型中,因为这个模型对输入的数据有要求,可在配置文件的layers中进行查看)。这样才能在图中显示出涨跌曲线,这些涨跌曲线不是任何的因素值(不是钱也不是交易额),而是一个抽象的描述各股票决定因素之间关系的量。
(2)表述可能不太清楚,有疑问请在评论区说明,我会补充到备注里。
股票收益率
例1:公司A和公司B的股本均为5 000万元,流通在外的普通股均为5000万股,且当年实现的净利润均为2 股票的K线图的均线的数据是怎么计算出来的 600万元,但两个公司的股东权益不同,公司A的股东权益为17 000万元,公司B的股东权益为19000万元。这样,尽管两个公司的每股收益均为0.52元/股(2 600÷5000),净资产收益率却是不同的,公司B的净资产收益率为13.68%(2 股票的K线图的均线的数据是怎么计算出来的 600÷19 000),要比公司A的净资产收益率15.29%(2600÷17 000)低,这从每股收益上是看不出来的。换句话说,公司B比公司A使用更多的权益资本才能获得相同的净利润2600万元,因此,公司B的资本获利能力要比公司A低。
例2:公司E以面值1元平价发行500万元的普通股,无资本公积、盈余公积、公益金和未分配利润,当年实现净利润为200万元,则每股收益为0.4元/股(200÷500),净资产收益率为40%(200÷500)。公司F以5元/股的价格发行面值为1元的普通股500万股,则全部资本为2 500万元(500×5),从而资本公积为2 000万元(2500-500)。假设无盈余公积、公益金和未分配利润,无负债资本,当年实现净利润为400万元,则每股收益为0.8元/股(400÷500),净资产收益率为16%(400÷2500)。可见,尽管公司E的盈利能力(净利润200万元)低于公司F(净利润400万元),从而公司E的每股收益低于公司F,但公司E的净资产收益率却大大高于公司F.造成这一现象的原因就是:公司F使用了投资者投入的除股本以外的资本公积2000万元,这部分资金同样为实现400万元的净利润做出了贡献,而在计算每股收益时却掩盖了这部分资金所创造的收益,并且把这部分资金所创造的收益全部看成了股本创造的收益。这显然是不合理的。
第一种方法是把除普通股股本以外的其他股东权益资本(资本公积、盈余公积、公益金和未分配利润等)按普通股的面值折算成普通股股本,计算当量普六合彩通股总股本,然后再计算当量每股收益。如例1中,假设普通股面值为1元/股,则公司A的当量普通股股本为17000万股,当量每股收益为0.股票的K线图的均线的数据是怎么计算出来的 152 9元/股(2 600÷17 000);公司B的当量普通股股本为19 000万股,当量每股收益为0.股票的K线图的均线的数据是怎么计算出来的 1368元/股(2 600÷19 000)。两公司的当量每股收益与其净资产收益率相一致。
第二种方法是将全部资本创造的净利润按资本进行分摊,计算出普通股股本所创造的当量净利润,然后再计算当量每股收益。如例1中,公司A的普通股股本创造的当量净利润为764.705 9万元(5 000÷17 000×2 600),当量每股收益为0.1529元/股(764.705 9÷5 000);公司B的普通股股本创造的当量净利润为684.210 5万元(5 000÷19 000×2600),当量每股收益为0.136 8元/股(684.210 5÷5 000)。