如何构建双重排序的投资组合?
Posted
技术标签:
【中文标题】如何构建双重排序的投资组合?【英文标题】:How can I construct double sorted portfolio? 【发布时间】:2022-01-05 00:46:45 【问题描述】:我的 RETl1 和 VOL 的十分位投资组合代码
merged['decile_RETl1'] = merged.groupby(['Date'])['RET_l1'].transform(lambda x: pd.qcut(x, 10, duplicates='drop',labels=False))
merged['decile_RETl1']=merged['decile_RETl1']+1
merged['decile_turnover'] = merged.groupby(['Date'])['VOL'].transform(lambda x: pd.qcut(x, 10, duplicates='drop',labels=False))
merged['decile_turnover']=merged['decile_turnover']+1
我可以分别通过 RETl1 和 VOL 创建一个十分位投资组合 但我不知道如何通过 首先在 RETl1 上,然后在 RETl1 十分位数内的 VOL 上。
如果您知道如何创建,请回答我 条件十分位排序投资组合。 非常感谢。
【问题讨论】:
欢迎来到 ***。为了获得更好的答案,如果您为一小部分数据提供所需输出的示例,将会很有帮助。原始数据并不重要,分享一个小样本来演示您需要的数据框结构和输出。祝你好运! 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:如果您有兴趣按多列对 Pandas DataFrame 进行排序,我从您的问题中了解到,您可以使用 sort_values
方法。
例如:
merged = merged.sort_values(["RETl1", "VOL"], ascending = (True, True))
that question 中的更多相关见解。
【讨论】:
以上是关于如何构建双重排序的投资组合?的主要内容,如果未能解决你的问题,请参考以下文章
金融量化系列优化问题在构建投资组合时的应用(利用scipy.optimize.minimize构建满足条件的最优投资组合)