楼主: 风之影1987
2139 4

朱世武《SAS金融计算与建模》29-30页程序疑问。关于宏的call symput调用 [推广有奖]

  • 0关注
  • 0粉丝

已卖:67份资源

本科生

52%

还不是VIP/贵宾

-

威望
0
论坛币
2204 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
701 点
帖子
52
精华
0
在线时间
108 小时
注册时间
2009-10-25
最后登录
2022-2-13

楼主
风之影1987 发表于 2012-2-13 12:39:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
/*清算日处于两个付息日之间的到期收益率计算*/
data;
date0='01mar1997'd;
date1='17Jul1997'd;
date2='01sep1997'd;
days02=datdif(date0,date2,'30/360');
days12=datdif(date1,date2,'30/360');
n=2*(2003-1997);
w=days12/days02;
call symput('n',n);
call symput('w',w);
data a;
delete;
%macro a(r);
data a1;
pl=0;
%do i=1 to &n;
p1=p1+5/(1+&r)**(i-1+&w);
output;
end;
data a1;
set a1 end=lasobs;
if lasobs;
p2=100/(1+&r)**(&n-1+&w);
p=p1+p2;
r=200*&r;
r1=100*&r;
data a(drop=i);
set a a1;
w=&w;
n=&n;
%mend a;
%a(0.0363);
proc print data=a;
run;

这段程序编译没有通过-ERROR: 在 %DO 语句中未找到期望的 %TO,将编译哑宏。
原因出在call symput程序上,请大家帮忙,如何改正。谢谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:金融计算与建模 symput 金融计算 call 朱世武 计算 建模 收益率 程序

回帖推荐

zhangzachary 发表于3楼  查看完整内容

这个好像是data步的,把do前面的%去掉。。。

沙发
zhangzachary 发表于 2012-2-13 12:56:30
ERROR 里已经写出来了。将to, end 前面加上%再试试看,和call symput 貌似没什么关系
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

藤椅
zhangzachary 发表于 2012-2-13 13:00:23
这个好像是data步的,把do前面的%去掉。。。
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

板凳
link7time 发表于 2012-2-13 14:19:03
MARK 学习下

报纸
风之影1987 发表于 2012-2-13 18:40:03
2楼说得很对。把百分号去掉,多谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 21:46