def get_volatility(security_list, day): price_df = get_price(security_list, end_date=(datetime.datetime.now() + datetime.timedelta(days = -1)).strftime("%Y-%m-%d"), frequency='daily', fields=None, skip_paused=False, fq='pre', count=day, panel=False, fill_paused=False) ret_array = [] for security in security_list: close = price_df.loc[price_df["code"] == security]["close"] check_day = 1 ret = np.std((np.array(close[check_day:]) - np.array(close[:-check_day]))/ np.array(close[:-check_day]) * 100) * math.sqrt(day) ret_array.append(ret) #print(ret_array) a = pd.DataFrame({'volatility':ret_array}) a.index = security_list if hasattr(a, 'sort'): a = a.sort(['volatility'],ascending = False) else: a = a.sort_values(['volatility'],ascending = False) a["volatility_score"] = range(1, len(security_list) + 1) # a["volatility"] = ret_array return a5475
28
8月
聚宽复现果仁网的波动率实现
