易得程序化交易技术论坛

登录 | 注册

积分: 0 |用户组: 游客

搜索
查看: 1672|回复: 0

通过自定义函数实现BetaDown下跌贝塔系数

[复制链接]

22

主题

65

帖子

1423

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1423
发表于 2022-6-26 09:51:43 | 显示全部楼层 |阅读模式
下跌贝塔系数的用法:  
BetaDown(N)为当前股票收益与大盘收益相比的下跌贝塔系数,该系数表明大盘每下跌1%,则该股票将下跌N%  
例如:BetaDown(10)表示10周期下跌贝塔系数。

以下代码通过易得程序化自定义函数实现BetaDown下跌贝塔系数函数,为您揭秘系统函数的神秘面纱并展示易得自定义函数的强大功能。

  1. function MyBetaDown(N)
  2. begin
  3.     sx := 0; sy := 0; sxy := 0; sy2 := 0;
  4.     nCount := 0;
  5.         
  6.     for i = CurrCalcBar+1-n to CurrCalcBar do
  7.     begin
  8.         if (IndexC[i] < IndexC[i-1]) then
  9.         begin
  10.             x := (c[i] - c[i-1]) / c[i-1];
  11.             y := (IndexC[i] - IndexC[i-1]) / IndexC[i-1];
  12.                
  13.             nCount := nCount+1;
  14.             sx := sx + x;
  15.             sy := sy + y;
  16.             sxy := sxy + x*y;
  17.             sy2 := sy2 + y*y;
  18.         end
  19.     end

  20.     if (nCount > 0) then
  21.     begin
  22.         ex := sx / nCount;
  23.         ey := sy / nCount;
  24.         exy := sxy / nCount;
  25.         ey2 := sy2  /nCount;
  26.         
  27.         betaV := (exy-ex*ey) / (ey2-ey*ey);
  28.     end

  29.     return betaV;
  30. end

  31. // a和b的值相同
  32. a:MyBetaDown(10);  // 调用自定义函数MyBetaDown
  33. b:BetaDown(10);    // 调用系统BetaDown函数
复制代码


回复

使用道具 举报

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

本版积分规则

QQ|Archiver|小黑屋|易得程序化 ( 粤ICP备2022064048号 )

GMT+8, 2025-4-28 16:21 , Processed in 0.050501 second(s), 18 queries .

快速回复 返回顶部 返回列表