我正在对股票进行数据分析,分析大约。运行各种标准的 600,000 行。到目前为止,它满足的最大组合数是 20。我找到了一种生成所有组合的方法。现在下一步是运行过滤器这些组合并提供有关有多少场景产生利润的结果。我拥有的代码需要更长的时间,因此建议我是否可以使用其他任何东西。下面是代码
import csv
import pandas as pd
import numpy as np
import itertools
# Input Entries
dataFile = "ReferenceFile.txt" # Enter the data file with all analysis
combinationFile = "Combination.csv" # Enter the combination file, the file should be in csv file
ResultFile = "Result.csv" # Enter the result file, the file should be in csv file
#Import files
dfData = pd.read_csv(dataFile, sep = ",")
dfData.fillna("", inplace=True)
dfData["AAA"] ="AAA" # adding this column to run different set of combinations at once, combatination can be 2, 3,....10,...20 fields
i = 0
file = open(combinationFile, "r") # opening the file
file
for line in file:
dfTemp = dfData
line = line.replace(("\n"),"")
line = line.split(',')
dfTempData = pd.DataFrame(line)
b = ""
for col_name in dfTempData[0]:
z = b + "|"+ col_name
if col_name == "AAA":
A1=1
else:
dfTemp=dfTemp[dfData[col_name].str.contains(col_name)]
dfTempP=dfTemp[dfData[col_name].str.contains("Profit")]
a = dfTempP.shape[0]/dfTemp.shape[0]
b = z
#c = str(b) + "," + str(dfTemp.shape[0]) + str(dfTempP.shape[0])
txtfile = open(ResultFile, "a")
txtfile.write(str(dfTemp.shape[0]) + str("|") + str(dfTempP.shape[0]) + "|" + str(b) + "\n")
#txtfile.close()
i = i + 1
txtfile = open(ResultFile, "a")
txtfile.close()
print("Complete")
任何帮助将不胜感激。谢谢!
ReferenceFile ReferenceFile 是一个以逗号分隔的文本文件。图片的第二部分显示了excel文件中的数据
组合文件 enter image description here
价格大于 4 天 EMA,价格低于 4 天 EMA,价格穿过 4 天 EMA 为正,价格穿过 4 天 EMA 为负
价格大于 4 天 EMA,价格低于 4 天 EMA,价格穿过 4 天 EMA 为正,价格穿过 4 天 EMA 为负
价格大于 4 天 EMA,价格低于 4 天 EMA,价格越过 4 天 EMA 为正,AAA
价格大于 4 天 EMA,价格低于 4 天 EMA,价格越过 4 天 EMA 为负,AAA
价格大于 4 DAY EMA,价格穿过 4DAY EMA 为正,价格穿过 4DAY EMA 为负,AAA 价格低于 4DAY EMA,价格穿越 4DAY EMA 为正,AAA,AAA
价格低于 4DAY EMA,价格穿越 4DAY EMA 负,AAA,AAA
价格穿过 4DAY EMA 为正,价格穿过 4DAY EMA 为负,AAA,AAA
价格大于 4 天 EMA,价格低于 4 天 EMA,AAA,AAA
价格大于 4 天 EMA,价格越过 4 天 EMA 为正,AAA,AAA
价格大于 4 天 EMA,价格越过 4 天 EMA 为负,AAA,AAA
价格大于 4 天 EMA,AAA,AAA,AAA
价格低于 4DAY EMA,AAA,AAA,AAA
价格穿过 4DAY EMA 为正,AAA,AAA,AAA
价格穿过 4DAY EMA 负值,AAA,AAA,AAA