核心源码如下:
#统计RSI小于某个数值时收益
def multi_date_profit(rsi1,buy,profit,close,muliti,conent):
i = 0;
totalProfit = 0.0
positiveCount = 0
negativeCount = 0
count = 0
#遍历每一个RSI列表
while i < rsi1.size:
#如果某个RSI数值小于指定数值
if rsi1.iat[i] < rsiValue:
buy.iat[i] = 1
#防止最后的数字超出RSI列表值域
if(i + muliti >= rsi1.size):
return
#得到利润,收盘价相比
profit.iat[i + muliti] = close.iat[i+muliti]/close.iat[i] - 1.0
#单个股票的所有利润和
totalProfit += profit.iat[i + muliti]
count = count + 1
#统计正负收益的次数
if(profit.iat[i + muliti] <= 0):
negativeCount = negativeCount + 1
else:
positiveCount = positiveCount + 1
for j in range(muliti):
buy.iat[i+j+1] = 0
i = i + muliti
else:
i = i + 1
#插入3个记录:每个股票的买入次数,收益率和胜率
if count <= 0 :
return
content.append(count)
content.append(totalProfit)
content.append(float(positiveCount )/count * 100)