regression neut - kitzz03/WorldQuant-Alphas GitHub Wiki

group=bucket(rank(cap),range="0,1,0.1");

alpha=regression_neut( ts_std_dev(group_normalize(snt_social_valuesnt_buzzlog(volume)/snt_social_volume,densify(pv13_hierarchy_min2_focused_pureplay_3000_513_sector)) ,7) ,group);

beta=group_neutralize(winsorize(alpha),exchange);

ts_decay_exp_window(trade_when(ts_rank(volume,20)>0.5,beta,-1),5,factor=0.7)

image image image

group=bucket(rank(cap),range="0,1,0.1");

alpha=regression_neut( ts_std_dev(group_normalize(snt_social_valuesnt_buzzlog(volume)/snt_social_volume,densify(pv13_hierarchy_min2_focused_pureplay_3000_513_sector)) ,7) ,group);

beta=group_neutralize(winsorize(alpha),exchange);

ts_decay_exp_window(trade_when(ts_rank(volume,20)>0.5,beta,-1),5,factor=0.7)

snt_social_volume: Normalized tweet volume

snt_social_value: Z-score of sentiment

snt_buzz: negative relative sentiment volume, fill nan with 0

log(volume)

Hypothesis:

The basic idea is to go long on basis of zscore of sentiment but we are normalizing it with sentiment social volume because each stock can have different volume, so normalizing stocks sentiment zscore with volume will bring them to a common ground.

Modification: