Giter VIP home page Giter VIP logo

kungfu's Introduction

Intro 简介

功夫量化 是专为量化交易者设计的开源交易执行系统。功夫想要解决以下问题:

  • 低延迟交易 - 量化交易者对系统内响应速度有极高要求,功夫提供微秒级别的系统响应,支持带纳秒级时间戳的交易数据实时存储和盘后分析。
  • 开放的策略编写方式 - 功夫支持 Python 3 及 C++ 形式的策略编写,策略师可以不受限的自由使用第三方计算库,放飞创意。
  • 友好的使用方式 - 告别 Linux shell 小黑屋,功夫提供图形化操作界面,简化策略运维流程。而进阶用户仍然具备通过底层 API 以无界面形式使用系统的能力。
  • 跨平台运行 - 三大主流平台(Windows、MacOSX、Linux)皆可编译运行。

功夫系统架构如下:

  • 后台核心(C++)
    • 长拳(longfist) - 金融交易相关的数据格式定义,提供涵盖 c++/python/javascript/sqlite 的序列化支持。
    • 易筋经(yijinjing) - 专为金融交易设计的超低延迟时间序列内存数据库,提供纳秒级时间精度,可落地交易相关的全部数据。
    • 咏春(wingchun) - 策略执行引擎,提供策略开发接口,实时维护策略账目及持仓情况。
  • 策略接口(C++/Python)
    • RxCpp - 响应式事件处理框架,可对丰富数据类型的金融交易数据进行灵活处理。
    • numpy/pandas - 自带的 Python 运行环境原生提供 numpy/pandas 等工具供策略使用。
  • 前端UI(Node.js)
    • Electron - 跨平台的桌面应用开发框架
    • Vue.js - UI开发框架

功夫在系统设计上支持任意柜台的对接(涵盖**所有股票、期货市场),功夫开源版提供 XTP 柜台对接的参考实现。 如果需要接入更多柜台请至 功夫量化官网 下载专业版或联系我们。

初次使用请参考 功夫文档

更多介绍请关注知乎专栏 硅商冲击

License

Apache License 2.0

Setup 编译及运行环境

功夫的编译依赖以下工具:

开始编译前,请先确保安装以上工具,且正确设置 PATH 环境变量。

Compile 编译

常规操作

获取代码并编译:

$ git clone [email protected]:kungfu-trader/kungfu.git
$ cd kungfu
$ yarn install
$ yarn build
$ yarn package

编译结果输出在 artifact/build 目录下。

遇到编译问题需要完整的重新编译时,执行以下命令:

$ yarn rebuild
$ yarn package

编译过程产生的临时文件

编译过程会在代码所在目录下生成如下临时文件:

node_modules
**/node_modules
**/build
**/dist

通常情况下可通过执行如下命令对 build 和 dist 进行清理:

$ yarn clean

需要注意 node_modules 目录为 yarn 产生的包目录,一般情况下无需清除,如有特殊需要可手动删除。

另外,编译过程中会在系统的以下路径产生输出:

$HOME/.conan                        # [conan](https://conan.io/center/) 的配置信息以及其存储的 C++ 依赖包
$HOME/.cmake-js                     # [cmake.js](https://www.npmjs.com/package/cmake-js) 存储的 C++ 依赖包
$HOME/.virtualenvs                  # pipenv(windows) 存储的 Python 依赖
$HOME/.local/share/virtualenvs      # pipenv(unix) 存储的 Python 依赖

如果需要清理这些文件,都需要手动删除。

Help 帮助信息

更多信息请访问 功夫量化

QQ 交流群 312745666,入群问题答案:kungfu.trader

kungfu's People

Contributors

ayizhi avatar dongkeren avatar notwoboy avatar kungfu-origin avatar kfkev avatar wangqichao1998 avatar pythonzhai avatar songzhouran avatar liujiaecit avatar xinxinxiangying258 avatar secretlemon avatar jiangcheng123 avatar aslan9 avatar jickchen34 avatar charleygong2022 avatar wyywangyuying avatar dependabot[bot] avatar wei-jianan avatar polarair avatar wongcoding avatar lqyhost avatar 1niu1 avatar ch11138 avatar pengjie-song avatar stephennqin avatar xcvdsfd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.