Long/Short 2.0: the relative weakness method
"Truth is by nature self-evident. As soon as you remove the cobwebs of ignorance that surround it, it shines clear."
– Mahatma Gandhi
Indices such as S&P 500, Nasdaq 100, FTSE 100, and Topix are the market capitalization weighted average of their constituents. Roughly half the stocks will do better and the rest worse than the index over any timeframe. There are many more stocks to pick from the large contingent of relative underperformers than the few and far between stocks that drop in absolute value.
Below is the source code to calculate relative series:
def relative(df,_o,_h,_l,_c, bm_df, bm_col, ccy_df, ccy_col, dgt, start, end,rebase=True):
'''
df: df
bm_df, bm_col: df benchmark dataframe & column name
ccy_df,ccy_col: currency dataframe & column name
dgt: rounding decimal
start/end: string or offset
rebase: boolean rebase to...