[量化7] 怎样用Excel/Python/MySQL来研究基金?

[量化7] 怎样用Excel/Python/MySQL来研究基金?
最新回答
ら面具背后の殇う

2022-09-24 03:26:37

使用Excel、Python和MySQL研究基金的量化体系主要分为数据爬取、数据处理和数据呈现三个步骤,通过Python爬取基金数据并存储到MySQL数据库,再通过SQL脚本计算量化指标,最后将结果导入Excel进行分析。 以下是具体技术架构和实现方法:

1. 体系架构

研究基金的量化体系涉及三个核心工具:

  • Python:用于誉兆笑从互联网基金网站爬取基金的每日历史净值数据,以及基金的规模、状态、类别等基础信息。
  • MySQL:存储爬取的基金历史净值数据,并通过SQL脚本计算量化指标。
  • Excel:导入MySQL中的计算结果,进行筛选、过滤和分析。

2. Python:数据爬取
  • 数据来源

    基金历史净值数据可从天天基金网、新浪财经等网站获取,但多数网站不提供直接下载功能,需通过网页编程和Python爬取。

    也可通过开源数据库如Tushare Pro获取数据。

  • 爬取方法

    HTML网页编程能力:分析网页架构,找到包含历史净值数据的API链接。API链接通常包含基金代码和查询日期段的起始结束日期。

    Python编程能力:编写程序循环日期段和基金代码,下载历史净值数据。使用正则表达式解析返回页面,抽取数据字段,存入CSV文件或数据库。

  • 示例数据

    基金的每日净值数据包括单位净值和累计净值,所有量化指标均通过数学方法从这两个数值计算得出。

3. MySQL:数据处理3.1 数据存储
  • daily_trans表:存储基金历史净值数据,包含基金代猜携码、净值日期、单位净值和累计净值等字段。

  • daily_calc表:存储计算的中间过程值,包含公共字段和股票字段。

  • result_set表:存储计算的最终结果,对应Excel表格的数据。

3.2 指标计算
  • 计算过程

    Python程序循环下载每只基金的净值数据,并存入MySQL数据库。

    每下载一个基金的净值数据,调用SQL脚本“KQ4DB_calculate.sql”计算量化指标。

  • 示例脚本

    以下截图展示了“前1月”和“前2月”指标的计算脚本。

4. Excel:数据呈现
  • 数据导入

    在Excel中建立连接MySQL数据库的ODBC连接。

    使用PowerQuery导入数据,通过菜单:数据--新建查询--其它来源--ODBC--高级选项,编写SQL语句从result_set表导入数据。

  • 数据分析

    使用Excel的筛选、排序和图表功能对导入的数据进行分析。

    编写VBA宏程序,通过按庆含钮调用,方便在不同筛选条件中切换。

  • VBA宏程序

    通过菜单:开发工具--Visual Basic--模块--KenMacro,查看和修改宏程序源码。