qq_42000770 2018-12-29 22:23
浏览 1452

如何优化计算收益率算法?

算法不够准确 存在问题
1. 没有计算手续费
2. 权重不应该相同
3. 持有20天的股票收益不应看作在当天就实现。

stock_list = ts.get_sz50s().code
print(stock_list.head())

输出:
0 600000
1 600016
2 600019
3 600028
4 600029
Name: code, dtype: object

决定每只股票收益率的决定方法:

red_3_s = list()
for stock in stock_list:
    data = daily_data[stock]
    red3s = pd.Series(0.0, index=range(len(data)))
    for i in range(len(data)):
        if is_red_3_soldier(data, i, 3, 0.01, 0.8):
            red3s[i] = 0.01
        else:
            red3s[i] = 0.00
    red_3_s.append(red3s)

优化该算法:

rtn = list()
for stock in stock_list:
    data = daily_data[stock]
    r = pd.Series(0.0, index=range(len(data)))
    for i in range(20, len(data)):
        if data.close[i] > 0: r[i] = data.close[i - 20] / data.close[i] - 1
    rtn.append(r)
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程