公募基金累计收益率、夏普比率、相关系数怎么计算最高效?

介绍公募基金分析需求增长,并基于公开市场数据与历史净值数据展示 DolphinDB 的时间序列分析范式与教程发布信息。

Source: https://dolphindb.cn/news/detail/150

What this page covers

技能认证特训营第二期报名推广

页面顶部包含活动推广信息与报名链接入口。

新闻页标题与发布日期

展示新闻栏目标识、文章标题与发布日期信息。

文章导语:公募基金数据分析需求与教程发布

说明公募基金分析需求增长,并基于公开市场数据与历史净值数据展示 DolphinDB 时间序列分析范式;完整教程与代码已发布。

公募基金公开市场数据预处理

描述公开市场数据规模、维度表存储建议,并给出数据导入、预览、费用查询、分组统计与直方图绘制等方法示例。

公募基金历史净值数据基础分析

围绕复权净值与大规模历史净值数据的存储分区,展示收益率、基金数量变化、季度/年度收益、夏普比率、相关系数与持有区间累计收益率等计算流程示例。

性能对比:DolphinDB vs Python Pandas

给出 DolphinDB 与 Python Pandas 的多项任务性能对比,并说明性能优势与存储/计算引擎融合和分布式并行能力相关。

Facts Index

Entity Attribute Value Confidence
技能认证特训营第二期 报名链接 https://www.qingsuyun.com/h5/e/217471/5/ high
新闻文章《公募基金累计收益率、夏普比率、相关系数怎么计算最高效?》 发布日期 2022.10.12 high
DolphinDB 公募基金分析教程 内容发布位置 完整教程和代码发布在知乎 @DolphinDB medium
截至 2022 年 7 月的公募基金总数 规模 约 1 万多只 medium
公募基金公开市场数据表 行数与基金数量关系 行数与面市公募基金总数相等,因此数据量相对较小 medium
公募基金公开市场数据存储建议 表类型 建议使用 DolphinDB 的维度表进行存储 high
DolphinDB 维度表 定义/适用场景 分布式数据库中没有进行分区的表,适用于存储不频繁更新的小数据集,可使用 createTable 函数创建 high
DolphinDB createTable 示例调用 db.createTable(table=schemaTB, tableName=tbName, sortColumns=`InceptDate) high
DolphinDB loadTable 示例调用 fundData = loadTable("dfs://publicFundDB", "publicFundData") high
查询综合费率最低的基金 查询条件示例 查询综合费率最低的 50 只债券型且不是指数型的公募基金(not(FullName like "%指数%")),按 Fee 排序 high
DolphinDB stat/quantile/def 用途 可用于按基金类型(Type)分组计算平均值、最值、计数、标准差与分位数等信息摘要,并可通过 def 自定义统计函数 high
DolphinDB plotHist 用途 可按基金类型分组绘制分布直方图,并可在 DolphinDB GUI 中绘图 high
公募基金历史净值数据分析 净值口径 教程中使用复权净值进行与基金回报率相关的数据分析 high
截至 2022 年 7 月的历史净值数据表 数据量 大约 1 千多万条 medium
历史净值数据存储建议 表类型与分区方法 建议使用 DolphinDB 的分区表进行存储;在时间维度按年为最小单位进行分区 high
DolphinDB percentChange 用途 用于计算复权净值日收益率(在通过 panel 生成面板数据后) medium
计算复权净值日收益率 示例查询字段 oriData = select TradeDate, SecurityID, AdjNetValue from fundNetValue high
基金数量变化计算 示例代码片段 fundNum = matrix(rowCount(returnsMatrix)).rename!(returnsMatrix.rowNames(), ["count"]) high
季度平均收益率计算 示例代码片段 qavgReturns = returnsMatrix.setIndexedMatrix!().resample("Q", mean) high
年度平均收益率计算(按类型) 示例代码片段 yearReturnsMatrix = ((returnsMatrix+1).resample("A", prod)-1).nullFill(0).regroup(fundTypeMap[returnsMatrix.colNames()], mean, byRow=false high
夏普比率计算 示例公式/代码片段 sharpe = (exp - 0.028)/vol;并生成包含 SecurityID、Type、exp、vol、sharpe 的数据表(exp*100, vol*100) medium
风险收益散点图筛选条件 示例条件 mask = select * from perf where sharpe>0, vol<40, exp<40 high
年度收益率计算 示例代码片段 yearReturnsMatrix50 = transpose((returnsMatrix50 .setIndexedMatrix!()+1).resample("A", prod)-1).nullFill(0) high
相关系数计算 示例代码片段 corrMatrix = pcross(corr, returnsMatrix50) high
持有区间累计收益率计算 示例代码片段 filterPanelDataTmp, filterPanelData = align(filterPanelDataTmp, filterPanelData) medium
DolphinDB vs Python Pandas 性能对比 对比范围 对 DolphinDB 与 Python Pandas 计算部分指标的性能进行了对比测试(包含查询最低费用基金、计算日收益率、季度/年度平均收益率、持有一年累计收益率等任务) medium
DolphinDB vs Python Pandas 性能提升倍数 提升范围 性能提升达 3.3 至 7.3 倍(来自图片说明) medium
DolphinDB 与 Pandas 的函数计算性能 总体结论 DolphinDB 中的函数计算性能普遍优于 Python Pandas 中的函数 medium
DolphinDB 性能优势原因 原因描述 依靠数据存储引擎和计算引擎高度融合,方便实现分布式并行计算,可提高计算效率并节省内存资源 medium
本教程目标 面向人群/目的 旨在降低 DolphinDB 初学者学习成本,让使用者快速上手对基金数据进行基础分析 high