楼主: Quinno0o
1638 3

[数据管理求助] stata逻辑计算-同变量不同排名期的值相乘 [推广有奖]

  • 0关注
  • 0粉丝

本科生

92%

还不是VIP/贵宾

-

威望
0
论坛币
54 个
通用积分
0.9001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
419 点
帖子
19
精华
0
在线时间
214 小时
注册时间
2020-10-2
最后登录
2024-11-8

楼主
Quinno0o 发表于 2021-8-21 08:37:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我的数据主要变量为stock,fundcode,rank,hi,这里只列出了第一期和股票1的前10个值,
诉求:我需要按不同期,同一只股票中,不同排名(rank数值越大,排名越靠后)的基金,对变量hi做加乘,
计算逻辑是:比如在持有股票1的基金中,第三个基金110005的排名是0.2752,需要将110005的hi值分别乘以‘排在0.2752之前的基金’对应的hi值后相加,这里排在110005前面的只有2个基金,那么生成的新变量=hi(110005)*hi(257040)+hi(110005)*hi(530001)=0.3359*0.9881+0.3359*0.2213我试过写循环语句,但是不太熟悉,没做出来,特来请教大家,这个用stata语法要怎么做?

input float stock long fundcode float(rank hi)
1 530001 .27027026 .22134387
1 257040  .2742616  .9881423
1 110005 .27521008  .3359684
1 519694 .28442436  .8735178
1 519991 .28503564  .8577075
1 350005  .2857143 .03773585
1 233001  .2915601   .770751
1  70001 .29275972        .8
1 360006  .2939189  .7865613
1 166001 .29411766  .9130435
1 360007 .29493892  .9644269
end
[/CODE]





二维码

扫码加我 拉你入群

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

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

关键词:Stata tata float Stock Input stata

回帖推荐

luckykong 发表于2楼  查看完整内容

沙发
luckykong 发表于 2021-8-21 09:35:18
  1. gen tempVar = sum(hi)
  2. gen result = hi * (tempVar -hi)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

藤椅
Quinno0o 发表于 2021-8-21 10:26:18
luckykong 发表于 2021-8-21 09:35
谢谢您的回复!
我试一下

板凳
Quinno0o 发表于 2021-8-21 17:17:43
luckykong 发表于 2021-8-21 09:35
指标完成了!真是非常感谢!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-6 17:58