[原创][R语言]股票分析实战[2]:周级别涨幅趋势的相关性

2023-12-18 02:28

本文主要是介绍[原创][R语言]股票分析实战[2]:周级别涨幅趋势的相关性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[简介]
常用网名: 猪头三
出生日期: 1981.XX.XX
QQ联系: 643439947
个人网站: 80x86汇编小站 https://www.x86asm.org
编程生涯: 2001年~至今[共22年]
职业生涯: 20年
开发语言: C/C++、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python
开发工具: Visual Studio、Delphi、XCode、Eclipse、C++ Builder
技能种类: 逆向 驱动 磁盘 文件
研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全/macOS应用软件安全
项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测

[序言]
从上一章内容: [原创][R语言]股票分析实战[1]:周级别涨幅趋势的相关性-CSDN博客, 通过使用卡方独立检测chisq.test()发现"涨幅(RC)"和"跟周1~周5(DW)"的两者关系是独立的, 也就是说没有相互影响的可能性. 那么这时候, 是不是要放弃了呢?其实数据分析工作, 还没做完, 不要忘记了, xtabs()函数生成的是频率表, 那么也就说除了"涨幅(RC)"和"周1~周5(DW)"这2个变量之外, 还有第3个变量, 那就是"频率(Freq)"

[继续探索"涨幅(RC)", "周1~周5(DW)", "频率(Freq)"的交叉关系]
要一次性分析这3个变量的交叉关系, 是否有内在的隐藏关系, 那么可以使用gmodels包中的CrossTable()函数, 查看"频率(Freq)"的"预期值"和"卡方贡献值", 通过这查看这2个数值, 可以观察出"频率(Freq)"与"涨幅(RC)", "频率(Freq)"与"周1~周5(DW)"的交叉关系.

library(gmodels)
CrossTable(stock_demo_rc_token$RC, stock_demo_rc_token$DW, expected = TRUE, prop.r = FALSE, prop.c = FALSE, prop.t = FALSE)

通过上面的代码, 就可以显示出"频率(Freq)"与"涨幅(RC)", "频率(Freq)"与"周1~周5(DW)"的交叉关系, 并且很容易看出异常值, 如下图说明:

1> 红圈表示: 实际频率 大于 预期频率 表示 正方向活跃
2> 绿圈表示: 实际频率 小于 预取频率 表示 反方向活跃
3> 红圈和绿圈 都有共同的特征: 卡方贡献值 都大于 1.0, 表示异动

那么从这3个描述在配合下图来看, 很明显周1~周5都有圈圈, 另外周3与周5有2个圈圈, 这种情况表明 "频率(Freq)" 与 "涨幅(RC)"和"周1~周5(DW)" 都有关系, 且还可以表示交易是否活跃的关系, 大家可要认真看如下的描述, 这是非常关键的.

1> 可以发现周1~周2的活跃度是在%6涨幅区间.
2> 可以发现周3~周5的活跃度是在7%涨幅以上区间, 甚至在周5, 10%涨幅的活跃度还不错, 但可惜是反方向活跃, 也就意味着是冲高出货.
3> 可以发现周3和周5, 比 周1, 周2, 周4 活跃. 因为周3和周5有2个圈圈.
4> 可以发现周1, 周2, 周4活跃度持平, 但是周4涨幅更大.
太令人兴奋了, 初步总结出一个规律: 周3, 周4, 周5的交易比周1, 周2活跃. (但别高兴, 虽然从数据看出了一点蛛丝马迹, 但是还需要继续分析, "频率(Freq)"与"涨幅(RC)", "频率(Freq)"与"周1~周5(DW)" 哪个 关系最密切?)

["频率(Freq)"与"涨幅(RC)", "频率(Freq)"与"周1~周5(DW)" 哪个 关系最密切?]
为了研究这个关系, 我们需要为这3个变量生成一个一维的数据表, 包含3列分别是: RC, DW, Freq. 代码如下:

stock_demo_rc_table <- xtabs(~ RC + DW, stock_demo_rc_token) # 生成频率表
stock_demo_rc_table_Freq <- as.data.frame(stock_demo_rc_table) # 把频率表转换为具有3列的矩阵
stock_demo_rc_table_Freq$RC <- as.integer(stock_demo_rc_table_Freq$RC) # 把RC因子转换为int型
stock_demo_rc_table_Freq$DW <- as.integer(stock_demo_rc_table_Freq$DW) # 把DW因子转换为int型

通过执行上面的代码,可以得到如下的表格.


非常重要, 再次查看"频率(Freq)", "涨幅(RC)", "周1~周5(DW)"的交叉关系, 也就是相互关系. 执行如下并可以看到一些数据

cor(stock_demo_rc_table_Freq)

          RC             DW             Freq
RC    1.0000000 0.0000000 -0.1937841
DW    0.0000000 1.0000000  0.0504346
Freq -0.1937841 0.0504346  1.0000000

那么如何看上面的数据呢?下面认真看如下描述

1> "频率(Freq)"与"涨幅(RC)" 关系值是: 0.1937841 (这里先不考虑正负关系)
2>  "频率(Freq)"与"周1~周5(DW)" 关系值是: 0.0504346
3> "涨幅(RC)"与"周1~周5(DW)" 没有任何关系 (这点跟用chisq.test()验证是一样的结果)

很显然, "频率(Freq)"与"涨幅(RC)"关系最密切, 因为 0.1937841 > 0.0504346, 但是他们是负方向关系. 也就是说: 当"频率(Freq)"增大的时候, "涨幅(RC)"就会降低. 反之 "频率(Freq)"减小的时候, 涨幅(RC)"就会增大. 这就非常贴切, 非常符合现实中的炒股情况. 在大A股市场, 确实涨停的股票就很少, 也就是说涨停的频率不高或者很低. 那么另外看看"涨幅(RC)"与"周1~周5(DW)"的关系, 很显然2者关系很弱, 没有太大显著关系, 但还好有一点好的迹象, 那就是他们是正方向的, 也就是说随着时间周1到周5的移动,  "频率(Freq)"会慢慢增加. 这又是一个关键的信息了, 也就说股票交易的活跃度随着时间向周5推移, 活跃度缓慢提升. 

[最后总体概括: 用CrossTable()分析出来的数据 与 cor() 是一致的, 关键信息如下]

1> 根据CrossTable()分析出来的关键信息是: 周1~周2交易不活跃, 周3开始启动, 周5交易活跃度达到最强
3> 根据cor()分析出来的关键是: 交易活跃度随着时间推进, 而变强.

[结尾]
通过上面的分析, 都是通过数值来进行挖掘, 那么通过数值挖掘出来的规律, 用图形来显示, 是否也是一样的特征规律呢? 下一篇我们可以通过图形进一步观察已经分析出来的关键信息.

这篇关于[原创][R语言]股票分析实战[2]:周级别涨幅趋势的相关性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506704

相关文章

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb