You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AlphaGenerator/optimize_alpha.py

30 lines
1.3 KiB

import random
input_alpha = 'group_neutralize({} - {},bucket(rank({}),range="0.1,1,0.2"))'
data_sets = ['implied_volatility_call_10', 'implied_volatility_call_1080', 'implied_volatility_call_120', 'implied_volatility_call_150', 'implied_volatility_call_180', 'implied_volatility_call_20', 'implied_volatility_call_270', 'implied_volatility_call_30', 'implied_volatility_call_360', 'implied_volatility_call_60', 'implied_volatility_call_720', 'implied_volatility_call_90', 'implied_volatility_put_10', 'implied_volatility_put_1080', 'implied_volatility_put_120', 'implied_volatility_put_150', 'implied_volatility_put_180', 'implied_volatility_put_20', 'implied_volatility_put_270', 'implied_volatility_put_30', 'implied_volatility_put_360', 'implied_volatility_put_60', 'implied_volatility_put_720', 'implied_volatility_put_90']
max_count = 1000
repeat_count = 0
result_alpha = []
while True:
if len(result_alpha) >= max_count:
break
modify_alpha = input_alpha.format(random.choice(data_sets), random.choice(data_sets),random.choice(data_sets))
if modify_alpha not in result_alpha:
result_alpha.append(modify_alpha)
else:
repeat_count += 1
if repeat_count >= max_count:
break
for alpha in result_alpha:
print(alpha)
print()
print(f'共生成 {len(result_alpha)} 个alpha')