python测试多空交易效果代码

本文介绍了一个使用Python编写的简单多空交易策略测试代码,通过分级基金A作为空头,跟踪相同指数的ETF基金作为多头。代码中实现了历史数据的读取、等长化处理、初始化建仓、仓位再平衡等功能。尽管测试结果不理想,但作者期待与爱好者交流并改进代码。
摘要由CSDN通过智能技术生成

用python写了一个简单的多空交易的测试代码

其中的空头部分用分级基金A,多头部分用跟踪同样指数的etf基金

测试的不是很理想。

由于刚开始接触python,所以在编写代码时已实现功能为主,还有很多可以改进的地方。十分欢迎有相同爱好的朋友一起交流。代码如下

from __future__ import division
import tushare as ts
import pandas as pd
import numpy as np
import csv

init_money=100000     

def file2data(filename):        #将文件中的历史数据以一个列表的形式返回
        str_filename="../data/"+filename
        f=open(str_filename)    #打开文件
        lines=f.readlines()     #读取文件中的所有行
        lst=[]                  #一个空的列表,用于存储文件数据
        i=0
        for line in lines:
                if i==0:        #跳过第一行
                        i+=1
                        continue
                else:
                        lst.append(line)

        f.close()
        return lst      #返回数据

def equalData(filename):        #将两个投资标的的历史数据进行等长化处理,filename用于一个列表数据更好
        lst=[]                  #空列表用于存储各标的的历史数据
        lens=[]                 #空列表用于存储各标的历史数据的长度
        for i in range(len(filename)):
                lst.append(file2data(filename[i]))
                lens.append(len(lst[i]))

        #此时lst为一个二维列表,两个元素,每一个元素为对应投资标的的历史数据
        if lens[0]==lens[1]:    #如果长度相等,则返回两个列表,分别对应各自的历史数据
                return lst[0],lst[1]
        elif lens[0]<lens[1]:   #表示投资标的0晚于投资标的1上市,所以以标的0为准进行等长化处理
                data=lst[1][:lens[0]]
                return lst[0],dat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值