[原创][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个代码技巧, 都是高频率的, 希望对大家都有帮助.

相关推荐
高-老师2 小时前
基于R语言的物种气候生态位动态量化与分布特征模拟
开发语言·r语言·物种气候
Tiger Z2 小时前
R 语言科研绘图 --- 其他绘图-汇总2
r语言·论文·科研·绘图·研究生
qq_508823402 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
好家伙VCC3 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
WangYan20225 小时前
【物种分布模型】R语言物种气候生态位动态量化与分布特征模拟——气候生态位动态检验、质心转移可视化、适生区预测等
r语言·物种分布模型·物种气候生态位
2301_781668616 小时前
Elasticsearch 02
大数据·elasticsearch·搜索引擎
isfox7 小时前
Google GFS 深度解析:分布式文件系统的开山之作
大数据·hadoop
用户Taobaoapi20148 小时前
京东店铺所有商品API技术开发文档
大数据·数据挖掘·数据分析
在未来等你8 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
江畔独步9 小时前
Flink TaskManager日志时间与实际时间有偏差
大数据·flink