公募基金累计收益率、夏普比率、相关系数怎么计算最高效?
介绍公募基金分析需求增长,并基于公开市场数据与历史净值数据展示 DolphinDB 的时间序列分析范式与教程发布信息。
What this page covers
- 新闻页的标题与发布日期信息。
- 公募基金分析需求与教程/代码的发布位置说明。
- 公开市场数据的规模、存储建议与基础查询/统计/可视化示例。
- 历史净值数据的存储分区与收益/风险/相关性等指标计算流程示例。
- DolphinDB 与 Python Pandas 的性能对比与原因说明。
技能认证特训营第二期报名推广
页面顶部包含活动推广信息与报名链接入口。
- 提供“技能认证特训营第二期”的报名入口链接。
- 报名链接指向 qingsuyun.com 的活动页面。
新闻页标题与发布日期
展示新闻栏目标识、文章标题与发布日期信息。
- 文章标题为“公募基金累计收益率、夏普比率、相关系数怎么计算最高效?”。
- 文章发布日期为 2022.10.12。
- 页面包含新闻栏目相关标识信息。
文章导语:公募基金数据分析需求与教程发布
说明公募基金分析需求增长,并基于公开市场数据与历史净值数据展示 DolphinDB 时间序列分析范式;完整教程与代码已发布。
- 提到公募基金分析需求在增长。
- 示例覆盖公开市场数据与历史净值数据两类数据源。
- 完整教程和代码发布在知乎 @DolphinDB。
公募基金公开市场数据预处理
描述公开市场数据规模、维度表存储建议,并给出数据导入、预览、费用查询、分组统计与直方图绘制等方法示例。
- 截至 2022 年 7 月的公募基金总数约 1 万多只。
- 公开市场数据表的行数与面市公募基金总数相等。
- 建议用 DolphinDB 的维度表存储公开市场数据。
- 维度表是不分区的表,适合不频繁更新的小数据集。
- 示例查询:筛选综合费率最低的 50 只债券型且非指数型基金并按 Fee 排序。
- 可按基金类型分组做统计摘要(均值、最值、计数、标准差、分位数等)。
- 可按基金类型分组绘制分布直方图(plotHist)。
公募基金历史净值数据基础分析
围绕复权净值与大规模历史净值数据的存储分区,展示收益率、基金数量变化、季度/年度收益、夏普比率、相关系数与持有区间累计收益率等计算流程示例。
- 教程使用复权净值进行与回报率相关的分析。
- 截至 2022 年 7 月的历史净值数据表约 1 千多万条。
- 历史净值数据建议使用 DolphinDB 分区表存储。
- 时间维度分区以“年”为最小单位。
- 示例流程包含计算复权净值的日收益率(percentChange)。
- 示例包含季度平均收益率计算(resample 到 “Q”)。
- 示例包含年度平均收益率计算,并可按基金类型聚合。
- 示例包含夏普比率计算公式:sharpe = (exp - 0.028) / vol。
- 示例包含相关系数矩阵计算(pcross(corr, returnsMatrix50))。
- 示例包含持有区间累计收益率计算流程的一部分(align)。
性能对比:DolphinDB vs Python Pandas
给出 DolphinDB 与 Python Pandas 的多项任务性能对比,并说明性能优势与存储/计算引擎融合和分布式并行能力相关。
- 对比测试覆盖多项指标计算任务(如最低费用基金查询、日收益率、季度/年度收益、持有一年累计收益等)。
- 图片说明给出性能提升范围为 3.3 至 7.3 倍。
- 文中结论称 DolphinDB 的函数计算性能普遍优于 Python Pandas 的函数。
- 原因描述包括存储引擎与计算引擎的高度融合。
- 原因描述包括便于实现分布式并行计算,从而提高效率并节省内存资源。
- 教程目标之一是降低 DolphinDB 初学者学习成本并帮助快速上手基金数据基础分析。
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 |