如何在投资历史中筛选长期可靠性更高的累计收益方案?
投资方案的长期可靠性筛选
实际上,累计求和时达到最高正峰值的图表并非总是最适合长期投资的可靠选择——单次投资可能产生极高利润,但随后回归负值甚至持续下跌。
同样,依赖较高*ROI(投资回报率)*也存在类似风险。
测试数据与累计求和图表
测试数据1
ex_csv_1 = """ Col 1,Col 2,Col 3,return a,b,c,1 a,b,c,1 a,b,c,-1 a,b,c,1 a,b,c,1 a,b,c,-1 a,b,c,1 """
图1:ex_csv_1对应的累计求和图表,呈现小幅度波动上升趋势
测试数据2
ex_csv_2 = """ Col 1,Col 2,Col 3,return a,b,c,1 a,b,c,-2 a,b,c,-3 a,b,c,4 a,b,c,5 a,b,c,6 a,b,c,7 """
图2:ex_csv_2对应的累计求和图表,前期下跌后大幅冲高
测试数据3
ex_csv_3 = """ Col 1,Col 2,Col 3,return a,b,c,2 a,b,c,2 a,b,c,2 a,b,c,2 a,b,c,2 a,b,c,-2 a,b,c,2 """
图3:ex_csv_3对应的累计求和图表,整体稳定上升,仅出现一次小幅回落
筛选峰值最高方案的实现代码
import pandas as pd import matplotlib.pyplot as plt import numpy as np import io ex_csv_1 = """ Col 1,Col 2,Col 3,return a,b,c,1 a,b,c,1 a,b,c,-1 a,b,c,1 a,b,c,1 a,b,c,-1 a,b,c,1 """ ex_csv_2 = """ Col 1,Col 2,Col 3,return a,b,c,1 a,b,c,-2 a,b,c,-3 a,b,c,4 a,b,c,5 a,b,c,6 a,b,c,7 """ ex_csv_3 = """ Col 1,Col 2,Col 3,return a,b,c,2 a,b,c,2 a,b,c,2 a,b,c,2 a,b,c,2 a,b,c,-2 a,b,c,2 """ def save_fig(cs): values = np.cumsum(cs[2]) fig = plt.figure() plt.plot(values) fig.savefig(f'a_graph.png', dpi=fig.dpi) fig.clf() plt.close('all') options = [] for i,strio in enumerate([ex_csv_1,ex_csv_2,ex_csv_3]): df = pd.read_csv(io.StringIO(strio), sep=",") df['invest'] = df.groupby(['Col 1','Col 2','Col 3'])['return'].cumsum().gt(df['return']) pl = df[(df['invest'] == True)]['return'] total_sum = pl.sum() roi = total_sum/len(pl) options.append([total_sum,roi,pl]) max_list = max(options, key=lambda sublist: sublist[0]) save_fig(max_list)
待解决问题
对比两组趋势图表,第二张波动幅度更小,且呈现稳定上升趋势,具备更高的长期可靠性。
如何从上述三类投资记录中筛选出这类波动最小、长期可靠性最高的方案?
内容的提问来源于stack exchange,提问作者Digital Farmer
相关产品推荐
相关产品推荐

