跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

AI量化投资实验室-社区&知识库

  1. 首页
  2. 七天入门量化投资
  3. 第1天(续):量化投资开发环境搭建

第1天(续):量化投资开发环境搭建

已定时 已固定 已锁定 已移动 七天入门量化投资
3 帖子 2 发布者 262 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 在线
    A 在线
    ailabx
    编写于 最后由 ailabx 编辑
    #1

    创建python开发环境

    python 安装包

    建议直接从官网下载对应的版本(目前咱们使用的版本是python3.11): 下面是windows的下载地址,至少需要win7以上操作系统(应该大部分同学都是)
    python下载
    https://www.python.org/downloads/windows/

    安装过程就不细表了。 值得一提的是,有些做过数据分析同学,可能会建议使用Anaconda。

    Anaconda是一个流行的Python数据科学平台,它包括了Python解释器、一套科学计算、数据分析和机器学习库以及管理这些库的工具。Anaconda由Anaconda, Inc.(原Continuum Analytics)开发,旨在简化包管理和部署。

    大家建议使用Anaconda的可能的理由是它内置了很多依赖包,并且解决了依赖关系,开箱即用。

    我不推荐的Anaconda的几个理由:

    1、python的开发规范里,向来建议使用虚拟环境venv来隔离不同的应用。 使用anaconda的内置包的原因,默认假设就是把这些包安装在本地环境里。带来的问题就是,你安装新包时,要解决的兼容问题,比使用venv要更多,更复杂。而如果你使用venv的话,那Anaconda最大的便利就没有了。

    2、Anaconda安装包很大,动辄好几个G。

    3、有些包的更新也是滞后的。

    有了SDK之后,我们还需要一个开发环境。所有的语言都需要一个好的开发环境(IDE)。 如果你不知道怎么选,我强烈推荐pycharm,社区版本就够多了,免费的。

    下载地址是:https://www.jetbrains.com.cn/pycharm/download/?section=windows

    默认看到是专业版本,是需要收费的,往下拉有社区版本。

    社区版本功能是完整且够用的。
    e1aba65b-7d48-4c76-8014-5c9837f065fe-image.png

    有同学想使用vscode的python开发插件。

    我的建议是,如果你会折腾能驾驭,你用什么都可以。如果你不了解,建议就是pycharm社区版,会省掉很多不必要的麻烦。

    python依赖包安装

    pip是python 内置的包安装和管理工具。

    在python里使用时,建议在如下位置打开“终端”:

    ad35cdbd-0b55-471f-a975-1f374e067030-image.png

    若你当前工程有虚拟环境,它会默认激活虚拟环境,这样你新安装的包都会在虚拟环境里:

    解决pip安装速度慢的问题:

    加上国内的pip源,可以在搜索引擎上找相应的源:

    pip install 包名 -i 源。

    下面是使用清华的pip源安装numpy最新版本的包的例子:

    pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
    如果是使用requirements.txt也是类似:

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    如果不想每次都如此麻烦,我们通常把这个源加到pip的全局配置里。

    C:\Users\用户名\pip\pip.ini里输入(如果没有,自行创建一个文件):

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    配置完成之后,重新打开terminal,默认就是会配置的源中搜索相应的包,速度很快。

    jupyter notebook

    量化开发的另一个辅助的开发环境是notebook,有了pycharm,为何还需要notebook?

    Notebook简介

    Jupyter Notebook 是一个交互式的计算环境,它允许用户在网页浏览器中编写和运行代码,并将代码、计算结果、可视化和描述文本组合在一个文档中。以下是使用 Jupyter Notebook 的一些好处:

    交互式编程:可以在编写代码的同时立即看到结果,这对于调试和探索数据非常有用。

    文档和代码的整合:可以轻松地将文本、方程、图像和代码结合在一起,形成自包含的文档。

    易于分享和协作:Jupyter Notebook 文件(.ipynb)可以很容易地在互联网上分享,使得协作和交流更加方便。

    可重复性:Jupyter Notebook 允许用户记录和重现整个分析过程,这对于科学研究和数据分析非常重要。

    教育和学习:它是一个强大的教育工具,可以用于教学和学习编程、数据分析和机器学习。

    数据可视化:Jupyter Notebook 支持多种数据可视化库,如 Matplotlib、Seaborn 和 Plotly,使得数据探索变得直观。

    实验和原型开发:它非常适合快速实验和原型开发,因为可以快速迭代和测试想法。

    使用 Jupyter Notebook 可以极大地提高编程、数据分析和机器学习的效率,特别是对于那些喜欢交互式学习和工作方式的用户。

    当然notebook也有一些缺点:

    1、 代码提示功能偏弱。它的代码提示功能肯定与pycharm不可同日而与。

    因此不适合在这里封装复杂的函数,而更适合的场景是函数已经封装好,我们尝试各种输入看结果,以及需要把这个结果分享给第三方的场合。

    2、 不支持单步debug。它的每一个cell相当于就是单步,我们可以把中间变量打印出来也算是一种调试。因此同样不适合调试一个在开发中的逻辑复杂的函数。

    notebook安装

    使用pip在虚拟环境里直接安装即可:

    pip install jupyter notebook
    然后在终端直接运行jupyter notebook

    点击链接打开浏览器:

    2fe1a1a2-8a50-4caf-865b-c4d4aeccaae1-image.png

    点击任意一个.ipynb笔记本,可以直接看到我的实验过程和结果展示:

    dc8048d9-9f9e-4a5e-b1bc-f0bbfe42b037-image.png

    notebook直接保留了代码和运行的过程。

    小结:

    投资最令人着迷也令人“绝望 ”之处在于,它没有圣杯。

    但我们还是大有可为。

    无论是从战略资产配置,还是战术资产轮动,或者择时,总有人可以找到相应的Alpha。

    量化是投资的工具,AI是量化的工具。

    用前沿的机器学习来辅助提升交易的胜率和赚钱的概率。

    工欲善其事,必先利其器。

    我们推荐python开发语言,使用pycharm作为开发工具,同时使用jupyter notebook作为策略开发和展示的辅助工具。

    有了这些认知和准备,下一节咱们就可以进入量化投资的世界了。

    1 条回复 最后回复
    0
    • A 在线
      A 在线
      ailabx
      编写于 最后由 编辑
      #2

      python版本,目前咱们是3.11,建议大家保持一致。

      1 条回复 最后回复
      0
      • I 离线
        I 离线
        iHero
        编写于 最后由 编辑
        #3

        明天,按照上面的试试

        1 条回复 最后回复
        0
        回复
        • 在新帖中回复
        登录后回复
        • 从旧到新
        • 从新到旧
        • 最多赞同


        • 登录

        • 没有帐号? 注册

        Powered by NodeBB Contributors
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 最新
        • 标签
        • 热门
        • 世界
        • 用户
        • 群组