第二章 基础知识--必备技能和工具

一、概述

在量化交易这一专业领域,多种编程语言各显神通,Python、C++和Java都是其中的佼佼者。这三种语言各具特色与优势,适应了多样化的应用需求。

  • Python,简单易学且强大,使其在数据科学和量化交易领域备受青睐。

  • C++和Java,则为追求极致性能与低延迟的交易系统提供了坚实支持。

本书所探讨的交易系统,正是基于Python构建。Python的丰富第三方库、易用性,使其成为系统的不二之选。即便缺乏编程背景,读者也能通过在线学习迅速掌握Python,因此,本书将不再赘述基础编程内容。

Python环境

我们选择Anaconda作为Python的环境。Anaconda是一个专为科学计算设计的Python发行版,兼容Linux、Mac和Windows。它集成了众多科学计算和数据分析的Python包。更重要的是,Anaconda提供了便捷的包管理与环境管理功能。这意味着,无论是需要同时使用多个Python版本,还是安装各种第三方包,Anaconda都能轻松应对,使读者能够聚焦于功能开发,而非环境搭建。例如,我们需要创建python275和python397这两个版本,后续的三方库安装可以在对应环境下通过pip install进行。

Python的集成开发环境

我们选择PyCharm作为Python的集成开发环境。PyCharm是由JetBrains开发的,被广大开发者誉为最受欢迎的Python IDE之一。它集成了众多实用的功能和工具,旨在提升开发者的效率与代码质量,包括代码自动完成、调试器、版本控制工作集成、代码质量分析和重构工具等。

Python第三方库

  • Web开发:利用web.py或Flask,我们可以迅速搭建Web应用程序。同时,集成前端的js包如easyui、echart、jquery,使得开发过程更加快速,无需采用复杂的前后端分离技术。

  • 数据库操作:mysql-connector-python库为MySQL数据库的操作提供了便捷。

  • 数据处理:NumPy和Pandas库是数值计算和数据处理的得力助手。

  • 定时调度:利用apscheduler库,轻松实现定时任务。

  • 技术指标计算:Ta-lib、stockstats库为各种技术指标的计算提供了支持。

  • 机器学习:scikit-learn和PyTorch库是机器学习和深度学习的利器。

  • 券商库:富图牛牛futu-api包为获取行情和交易数据提供了便利。

必备软件工具

  • Nginx:它不仅是强大的反向代理工具,还确保负载均衡,使得应用能够处理大量并发请求。

  • MySQL:该数据库稳定可靠,用于安全地存储、管理与检索应用程序的关键数据。

  • Redis:通过其缓存和消息队列功能,提高应用的响应速度,并确保数据在系统中的高效流转。

  • Git:为团队提供版本控制和代码管理服务,确保代码的完整性、可追溯性,助力协作开发。

  • GitLab或Gitee代码库:提供一个可靠的在线平台,用于托管、分享与管理代码,确保代码的安全与便捷访问。

  • Chrome浏览器:凭借其强大的开发者工具,Chrome浏览器成为Web应用测试与调试的首选。

  • 富图牛牛OpenD或其他终端软件:作为行情与交易网关,它提供稳定的行情数据接收与交易功能,确保我们在量化交易中的策略得以准确与实时地执行。

其他注意事项

1. 服务器选择:

为了兼顾开发与生产的需要,我们选用阿里云的ECS机器,并对其进行了特定的配置。最基本的配置:单机4核、16GB内存,并搭载Windows Server操作系统。这样的配置使得它既可以充当开发环境,也可以胜任生产环境。当然,Linux或Mac OS环境也是一个选项,但考虑到即可为生产也可做为开发机的成本,我们将选择windows系统。

2. 开发与生产环境目录的设定:

统一路径在程序中的使用是非常重要的。为此,我们需要在服务器上明确开发与生产环境的目录。具体操作为:在服务器上创建两个文件夹,分别命名为“开发环境”和“生产环境”。有了这两个文件夹,我们在程序中就可以利用绝对路径来轻松地访问或配置其中的文件。这样的操作方式,确保了目录结构的清晰,并提高了路径管理的便捷性。

C:\online                              -- 生产环境
    ├── databus                      -- 数据总线
    ├── biz_service                  -- 业务系统
    ├── front_web                    -- 主站web系统
    ├── ots_service                  -- 决策引擎
    ├── ml_service                   -- 机器学习
    ├── trade_terminal               -- 交易终端
D:\workspace                           -- 开发环境
    ├── databus_dev     
    ├── biz_service_dev    
    ├── front_web_dev           
    ├── ots_service_dev          
    ├── ml_service_dev            
    ├── trade_terminal_dev
D:\home
    ├── db                           -- 临时文件
    ├── logs                         -- 日志
D:\soft
    ├── nginx
    ├── redis
     ....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值