楼主: shevaze
956 2

[有偿编程] 求根据附件EXCEL过程生成最大回撤SAS代码 [推广有奖]

  • 2关注
  • 10粉丝

副教授

75%

还不是VIP/贵宾

-

威望
0
论坛币
2962 个
通用积分
44.2810
学术水平
9 点
热心指数
6 点
信用等级
3 点
经验
87196 点
帖子
720
精华
0
在线时间
1095 小时
注册时间
2010-11-13
最后登录
2022-4-11

100论坛币
如题,谢谢,最好是用iml的,array的也行,本人小白,实在是搞不定。
谢谢!

最大回撤EXCEL.xlsx

16.95 KB

关键词:EXCEL sas代码 xcel exce cel
沙发
whymath 发表于 2020-8-5 23:19:20 |只看作者 |坛友微信交流群
请提供“最大回撤”的定义,并至少提供一个示例。

使用道具

藤椅
luekemia 发表于 2020-8-6 16:53:56 |只看作者 |坛友微信交流群
不难:
  1. data raw;
  2. input date s_name $ net;
  3. informat date yymmdd10. s_name $10. net best10.;
  4. format date yymmdd10.;
  5. cards;
  6. 2020/1/1        ABC        1.1
  7. 2020/1/2        ABC        1.2
  8. 2020/1/3        ABC        1.3
  9. 2020/1/4        ABC        1.4
  10. 2020/1/5        ABC        1.8
  11. 2020/1/6        ABC        1.6
  12. 2020/1/7        ABC        1.7
  13. 2020/1/8        ABC        1.8
  14. 2020/1/9        ABC        1.9
  15. 2020/1/10        ABC        2
  16. 2020/1/11        ABC        2.1
  17. 2020/1/12        ABC        2.2
  18. 2020/1/1        孙悟空        1.1
  19. 2020/1/2        孙悟空        1.2
  20. 2020/1/3        孙悟空        1.3
  21. 2020/1/4        孙悟空        1.9
  22. 2020/1/5        孙悟空        1.5
  23. 2020/1/6        孙悟空        1.6
  24. 2020/1/7        孙悟空        1.7
  25. 2020/1/8        孙悟空        1.8
  26. 2020/1/1        3        1.1
  27. 2020/1/2        3        1.2
  28. 2020/1/3        3        1.3
  29. 2020/1/4        3        1.4
  30. 2020/1/5        3        2.1
  31. 2020/1/6        3        1.6
  32. 2020/1/7        3        1.7
  33. 2020/1/8        3        1.8
  34. 2020/1/9        3        1.9
  35. 2020/1/10        3        2.0
  36. 2020/1/11        3        2.1
  37. 2020/1/12        3        2.2
  38. ;run;

  39. proc sort data = raw;
  40. by s_name date;
  41. run;

  42. data max_recall;
  43. retain date s_name net max_net DrawDown max_DD;
  44. set raw;
  45. by s_name;
  46. retain max_net max_DD 0;
  47. if first.s_name then do;
  48. max_net=0; max_DD=0;
  49. end;

  50. if net > max_net then max_net = net;
  51. DrawDown = net - max_net;
  52. if DrawDown < max_DD then max_DD = DrawDown;

  53. run;

  54. proc sql;
  55. create table max_recall_summ as
  56. select distinct s_name
  57. ,min(max_DD) as max_DD
  58. from max_recall
  59. group by 1
  60. ;quit;
复制代码




已有 1 人评分论坛币 收起 理由
admin_kefu + 50 精彩帖子

总评分: 论坛币 + 50   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 19:57