[原创][R语言]股票分析实战[7]:时间转换 与 股票涨幅计算

[简介]

常用网名: 猪头三

出生日期: 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应用软件安全

项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测

[序言]

在股票数据分析中, 有时需要把"年/月/日"时间转换为"周内第N天" 和 计算收盘价的涨幅 这2个是非常有用的的技巧, 对统计分析很有帮助.

[转换代码1: "年/月/日"时间转换为"周内第N天"]

假如有一个数据框stock_demo包含一个Date列, 内容是整型的时间数字, 比如:

20231229

20231228

20231227

20231225

20231222

20231221

20231220

20231219

20231218

20231215

R 复制代码
# 针对Date列转换为周内第几天, 并追加新的数据列DW
stock_Date <- as.Date(as.character(stock_demo$Date), format = "%Y%m%d")
stock_Days <- as.integer(format(stock_Date, "%u"))

# 把"周内第几天"的数据重新绑到stock_demo
stock_demo$Days <- as.character(stock_Days)

[转换代码2: 计算收盘价的涨幅]

假如有一个数据框stock_demo包含一个C列, 内容是浮点型的收盘价, 比如:

2.47

2.38

2.34

2.36

2.39

2.44

2.42

2.46

2.46

2.50

2.53

2.50

2.51

2.48

2.43

2.51

R 复制代码
# 针对收盘价计算涨幅, 并追加新的数据列RC
# 计算涨幅之后, 由于行数不匹配, 因此需要NA进行扩充
c_Rise <- with(stock_demo, round(((C[-length(C)] - C[-1]) / C[-1])*100, 2))
c_Rise <- c(c_Rise, rep(NA, nrow(stock_demo)-length(c_Rise)))
C_Rise_Int <- as.integer(c_Rise)
stock_demo <- cbind(stock_demo, RC = c_Rise)
stock_demo <- cbind(stock_demo, RCI = C_Rise_Int)

# 整理新的数据框(去掉包含由NA的行)
stock_Data <- na.omit(stock_demo)

[结尾]

这2个代码技巧, 都是高频率的, 希望对大家都有帮助.

相关推荐
2601_957879334 分钟前
短视频矩阵的数据驱动运营:从流量监测到内容迭代的完整技术链路
大数据·矩阵·音视频
珠海西格电力9 分钟前
零碳园区的碳排放指标计算的实操步骤
大数据·运维·人工智能·物联网·能源
WL_Aurora11 分钟前
大数据技术之SparkSQL
大数据·sparksql
简信CRM28 分钟前
小微型企业如何利用CRM对公司内外部管理进行优化转型?
大数据·crm·简信crm
逐米时代43 分钟前
成都制造企业采购合同风险审核,AI智能体该查哪些条款?
大数据·人工智能
lizhihai_992 小时前
股市学习心得-与英伟达核心 PCB 相关的八家关联企业
大数据·人工智能·学习
WL_Aurora3 小时前
大数据项目实战:网站流量日志分析
大数据
AC赳赳老秦3 小时前
OpenClaw碎片时间利用:设置轻量化自动化任务,高效利用职场碎片时间
java·大数据·运维·服务器·数据库·自动化·openclaw
arbitrary193 小时前
自动化业务通报系统实现
大数据·数据库·python·jupyter
geinvse_seg3 小时前
别再被海量信息淹没了!手把手教你搭建专属AI情报雷达,全网热点自动推送到手
大数据·人工智能·蓝耘元生代