全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
2023-3-31 12:55:23
学习了 谢谢
二维码

扫码加我 拉你入群

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

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

2023-3-31 14:57:41
咋么下载
二维码

扫码加我 拉你入群

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

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

2023-7-6 09:37:37
根据视频找到了这个地址,感谢楼主的资源分享
二维码

扫码加我 拉你入群

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

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

2023-8-9 14:34:00
感谢分享
二维码

扫码加我 拉你入群

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

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

2023-8-24 09:44:57
非常好,学习学习
二维码

扫码加我 拉你入群

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

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

2023-10-19 10:05:14
学习一下
二维码

扫码加我 拉你入群

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

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

2023-10-22 07:21:58
邢不行 发表于 2015-7-11 18:38
引言:

本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大 ...
学习下,一定有好处
二维码

扫码加我 拉你入群

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

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

2023-10-25 08:47:21
支持楼主
二维码

扫码加我 拉你入群

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

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

2023-11-18 14:55:52
迟到的称赞,已经23年了
二维码

扫码加我 拉你入群

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

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

2023-11-23 21:47:44
谢谢!正要学习看看。
二维码

扫码加我 拉你入群

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

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

2024-1-13 13:18:24
感谢邢老师的无私奉献!
二维码

扫码加我 拉你入群

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

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

2024-3-21 09:21:01
感谢楼主分享!
二维码

扫码加我 拉你入群

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

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

2024-3-24 17:22:02
2015年的,怪不得都不能用了
二维码

扫码加我 拉你入群

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

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

2024-4-14 02:42:57
支持楼主,学习下。
二维码

扫码加我 拉你入群

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

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

2024-4-16 19:49:57
感谢楼主
二维码

扫码加我 拉你入群

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

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

2024-4-16 23:09:08
谢谢楼主,改成PYTHON3可用了:

import pandas as pd

#====导入上证指数的原始数据
#注意:这里请填写数据文件在您电脑中的路径,并注意路径中斜杠的方向
index_data=pd.read_csv('C:\\utopia\\trading-data.20240221\\stock data\\sz000002.csv', parse_dates=['date'] )
#保留这几个需要的字段:'date', 'high', 'low','close','change']]
#对数据按照【date】交易日期从小到大排序
index_data.sort_values(by='date',inplace=True)


# =计算海龟交易法则的买卖点
# 设定海龟交易法则的两个参数,当收盘价大于最近N1天的最高价时买入,当收盘价低于最近N2天的最低价时卖出
#这两个参数可以自行调整大小,但是一般N1>N2
N1=20
N2=10

#通过rolLing_max方法计算最近N1个交易日的最高价
index_data['最近N1个交易日的最高点'] = index_data['high'].rolling(N1).max()
# pd.rolling(N1).max  .rolLing_max(index_data['high'],N1)
#对于上市不足N1天的数据,取上市至今的最高价
index_data['最近N1个交易日的最高点'].fillna(value=index_data['high'].expanding().max())
                                            # .expanding_max(index_data['high']),inplace=True)

#通过相似的方法计算最近N2个交易日的最低价
index_data['最近N2个交易日的最低点'] =index_data['low'].rolling(N1).min()
index_data['最近N2个交易日的最低点'].fillna(value=index_data['low'].expanding().min())
# pd.expanding_min(index_data['low'],inplace=True))

index_data['最近N2个交易日的最低点'].fillna(value=index_data['low'].expanding().min())

#当当天的【close】>昨天的【最近N1个交易日的最高点】时, 将【收盘发出的信号】设定为1
buy_index=index_data[index_data['close'] >index_data['最近N1个交易日的最高点'].shift(1)].index
index_data.loc[buy_index,'收盘发出的信号'] = 1
#当当天的【close】<昨天的【最近N2个交易日的最低点】时,将【收盘发出的信号】设定为0
selL_index=index_data[index_data['close'] <index_data['最近N2个交易日的最低点'].shift(1)].index
index_data.loc[selL_index,'收盘发出的信号'] = 0

#计算每天的仓位,当天持有上证指数时,仓位为1,当天不持有上证指数时,仓位为0
index_data['当天的仓位'] =index_data['收盘发出的信号'].shift(1)
index_data['当天的仓位'].fillna(method='ffill',inplace=True)

#取1992年之后的数据,排出较早的数据
index_data=index_data[index_data['date'] >=pd.to_datetime('19930101')]

#当仓位为1时,买入上证指数,当仓位为0时,空仓。计算从19920101至今的资金指数
index_data['资金指数'] =(index_data['change'] *index_data['当天的仓位'] +1.0).cumprod()


initial_idx=index_data.iloc[0]['close'] /(1+index_data.iloc[0]['change'])
index_data['资金指数'] *=initial_idx

#输出数据到指定文件
index_data[['date','high','low','close','change','最近N1个交易日的最高点',
            '最近N2个交易日的最低点','当天的仓位','资金指数']] .to_csv('turtle.csv',index=False,encoding='gbk')

# =计算每年指数的收益以及海龟交易法则的收益
index_data['海龟法则每日涨跌幅'] =index_data['change'] *index_data['当天的仓位']
year_rtn=index_data.set_index('date') [['change','海龟法则每日涨跌幅']].resample('A').agg({'change':(lambda x:((x+1.0).prod() - 1.0)*100),'海龟法则每日涨跌幅':(lambda x:((x+1.0).prod() - 1.0)*100)})
print(year_rtn )



二维码

扫码加我 拉你入群

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

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

2024-8-27 14:13:39
学习学习
二维码

扫码加我 拉你入群

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

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

2024-9-9 10:22:45
学习
二维码

扫码加我 拉你入群

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

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

2024-11-12 09:06:12
支持楼主,学习下。
二维码

扫码加我 拉你入群

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

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

2024-11-21 10:38:40
支持楼主,学习下。
二维码

扫码加我 拉你入群

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

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

2024-11-23 15:18:46
支持,好贴,好好学习
二维码

扫码加我 拉你入群

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

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

2024-12-21 22:13:31
学习中,有劳啦
二维码

扫码加我 拉你入群

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

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

2025-2-10 09:21:05
二维码

扫码加我 拉你入群

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

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

2025-5-6 21:39:48
支持楼主,学习下。
二维码

扫码加我 拉你入群

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

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

2025-5-13 11:27:46
支持楼主,学习下,谢谢。
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群