最近有个朋友问我:“SAS能算股票日收益率吗?”我当时差点被这个问题整破防——不是,这还用问吗?SAS可是数据分析界的顶流,别说算股票收益率了,就算算奶茶店每日营业额也不在话下!不过今天咱们就来聊聊怎么用这个“数据吃货”级别的神器搞定股票日收益率计算。先别急着关页面,待会儿你会发现,原来P图(数据处理)也能这么香!
先来点硬知识:股票日收益率就是今天的股价减去昨天的股价,再除以昨天的股价,公式是这样:收益率 = (今天收盘价 - 昨天收盘价) / 昨天收盘价 × 100%。简单吧?但手动算个几百只股票,那得算到手抽筋,咱们今天就让SAS来当个活雷锋。
第一步,准备你的“数据大餐”。这一步可马虎不得,毕竟SAS是个“挑食”的家伙,数据格式不对它直接给你来个“您这菜不新鲜啊!”。最好把股票历史数据整理成CSV格式,包含日期和收盘价两列就够了。数据要完整,缺胳膊少腿的可不行,不然SAS会直接给你来个“数据君生气了,请重新投喂”。别慌,如果你连数据整理都不会,直接去东方财富网下载现成的就行,人家可专业了。
第二步,喂饭给SAS!打开你的SAS软件,新建一个程序,别起个高大上的名字,就叫“股票收益率.sas”,显得接地气点,毕竟我们不是写SCI论文的大神,是实战派!接着输入代码,这一步得小心,一个分号没写对,SAS会直接给你来个“分号小哥,你又坑我!”的无情打击。别怕,下面这段代码你照抄就能用,不过记得把括号里的股票代码替换成你自己的:
data stock_return;
set stock_data;
return_rate = (close - lag(close)) / lag(close) * 100;
drop lag_close;
run;
这段代码的意思是,让SAS记住昨天的收盘价,然后算出现今天收益率。如果你的数据里日期不是按顺序排的,还得先排序,不然SAS会纠结得像个找不到方向的外卖小哥:“让我看看,让我看看今天的数据在哪?”
第三步,吃货上线!运行代码后,SAS就会吐出一份新的数据表,里面除了原来的收盘价,还多了个return_rate列,就是你的日收益率啦!如果发现收益率全是0,那说明你可能没正确使用lag函数,或者数据排序乱了。这时候别急,检查一下代码,或者试试用PROC SQL写个更复杂的版本,虽然SQL写得不好容易被SAS嫌弃,但万一写对了,那可就赚翻了!
第四步,可视化你的战果!光有数据还不够,还得让它看起来高大上。SAS的SGPLOT过程很适合画图,比如要看看茅台最近一个月的表现,代码可以这样写:
proc sgplot data=stock_return;
series x=date y=return_rate;
xaxis label="日期";
yaxis label="日收益率(%)";
title "茅台日收益率走势";
run;
运行后就能看到一条彩色小线在波动,看着就像在跳广场舞,莫名让人想笑。如果数据量太大,画出来像座山,那你就成功了,因为这意味着你真的在用专业工具分析数据,而不是在做作业!
突然有个脑筋急转弯:SAS除了计算股票收益率,还能算什么?答案是——奶茶店的每日营业额!没错,只要数据格式对,SAS爷就是你生活中的全能王,上班下班通通搞定!下次再有人问你会什么,就骄傲地说:“我是SAS签约数据分析师!”
别以为“核子”是个虚假的名字,其实,这名字在...
本文摘要:国家电网退休后待遇怎么样在国家电网工作,他们单位去年退休...
爵士在香港是什么地位1、港的那些被英女王封的爵士,都是英...
本文摘要:大乐透7+3复式票多少钱一注中两个蓝球多少钱对于大乐透7...
农业银行储蓄代办员退休工资多少?农业银行储蓄代办员退休工...