├── .github ├── FUNDING.yml └── workflows │ └── ci.yml ├── .gitignore ├── LICENSE ├── Readme.md ├── Readme_cn.md ├── assets └── IMG_0825.jpg ├── crypto_focus.md ├── docs └── index.md ├── mkdocs.yml ├── overrides ├── main.html └── partials │ └── comments.html └── src ├── go └── main.go ├── python └── main.py └── rust ├── Cargo.lock ├── Cargo.toml └── src └── main.rs /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [wangzhe3224] 4 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | on: 3 | push: 4 | branches: 5 | - master 6 | - main 7 | jobs: 8 | deploy: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | - uses: actions/setup-python@v2 13 | with: 14 | python-version: 3.x 15 | - run: pip install mkdocs-material 16 | - run: mkdocs gh-deploy --force 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 105 | __pypackages__/ 106 | 107 | # Celery stuff 108 | celerybeat-schedule 109 | celerybeat.pid 110 | 111 | # SageMath parsed files 112 | *.sage.py 113 | 114 | # Environments 115 | .env 116 | .venv 117 | env/ 118 | venv/ 119 | ENV/ 120 | env.bak/ 121 | venv.bak/ 122 | 123 | # Spyder project settings 124 | .spyderproject 125 | .spyproject 126 | 127 | # Rope project settings 128 | .ropeproject 129 | 130 | # mkdocs documentation 131 | /site 132 | 133 | # mypy 134 | .mypy_cache/ 135 | .dmypy.json 136 | dmypy.json 137 | 138 | # Pyre type checker 139 | .pyre/ 140 | 141 | # pytype static type analyzer 142 | .pytype/ 143 | 144 | # Cython debug symbols 145 | cython_debug/ 146 | 147 | # PyCharm 148 | # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can 149 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 150 | # and can be added to the global gitignore or merged into this file. For a more nuclear 151 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 152 | #.idea/ 153 | 154 | # General 155 | .DS_Store 156 | .AppleDouble 157 | .LSOverride 158 | 159 | # Icon must end with two \r 160 | Icon 161 | 162 | # Thumbnails 163 | ._* 164 | 165 | # Files that might appear in the root of a volume 166 | .DocumentRevisions-V100 167 | .fseventsd 168 | .Spotlight-V100 169 | .TemporaryItems 170 | .Trashes 171 | .VolumeIcon.icns 172 | .com.apple.timemachine.donotpresent 173 | 174 | # Directories potentially created on remote AFP share 175 | .AppleDB 176 | .AppleDesktop 177 | Network Trash Folder 178 | Temporary Items 179 | .apdisk 180 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Zhe Wang 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Awesome Systematic Trading 2 | 3 | > or Quantitative Trading + a bit data science infra 4 | 5 | [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 6 | ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/wangzhe3224/awesome-systematic-trading/master) 7 | 8 | ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) 9 | ![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=java&logoColor=white) 10 | ![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=for-the-badge&logo=c%2B%2B&logoColor=white) 11 | ![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) 12 | ![Rust](https://img.shields.io/badge/rust-%23000000.svg?style=for-the-badge&logo=rust&logoColor=white) 13 | ![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white) 14 | ![Jupyter Notebook](https://img.shields.io/badge/jupyter-%23FA0F00.svg?style=for-the-badge&logo=jupyter&logoColor=white) 15 | 16 | ## Star History 17 | 18 | [![Star History Chart](https://api.star-history.com/svg?repos=wangzhe3224/awesome-systematic-trading&type=Timeline)](https://star-history.com/#wangzhe3224/awesome-systematic-trading&Timeline) 19 | 20 | [希望阅读中文版?点我](./Readme_cn.md) 21 | 22 | [Interested in systematic trading? Check QuantBox](https://quant.funcoder.net/) 23 | 24 | A curated list of awesome libraries, packages and resources for Systematic Trading (Quantitative Trading) 25 | 26 | > Open access: all rights granted for use and re-use of any kind, by anyone, at no cost, under your choice of either the free MIT License or Creative Commons CC-BY International Public License. 27 | 28 | How do we pick the projects? 29 | 30 | - Fit in Systematic Trading / Quantitative Trading domain 31 | - Good coding style and software architecture 32 | - (Optional) Under active development 33 | - (Optional) Reasonable test coverage 34 | 35 | Overall, I tend to pick decent or promising libraries that closely related to systematic trading instead of including as many libraries as possible. 36 | 37 | **Please raise a PR if you found some good fit projects for this repo or remove some outdated projects. Thanks!** 38 | 39 | Search page by languages you are interested in to find related libraries. For example: `Ctrl+F`, `Rust` 40 | 41 | And I count crypto as whole new category: [>> Click ME to Systematic Crypto](crypto_focus.md). 42 | 43 | - [Awesome Systematic Trading](#awesome-systematic-trading) 44 | - [Star History](#star-history) 45 | - [🔥 AI Powered Systematic Trading Systems](#-ai-powered-systematic-trading-systems) 46 | - [Backtest + live trading](#backtest--live-trading) 47 | - [General purpose](#general-purpose) 48 | - [Crypto currency focus](#crypto-currency-focus) 49 | - [Machine Learning / Reinforcement Learning Focused](#machine-learning--reinforcement-learning-focused) 50 | - [Alpha Collections](#alpha-collections) 51 | - [General Alpha](#general-alpha) 52 | - [Expression based alpha](#expression-based-alpha) 53 | - [Stock picking](#stock-picking) 54 | - [Orderbook](#orderbook) 55 | - [Arbitrage (Crypto)](#arbitrage-crypto) 56 | - [Basic Components](#basic-components) 57 | - [Fundamental libraries](#fundamental-libraries) 58 | - [Computation](#computation) 59 | - [Python Performance Booster](#python-performance-booster) 60 | - [Python Profilers](#python-profilers) 61 | - [Alternative libraries](#alternative-libraries) 62 | - [Numpy Alternatives](#numpy-alternatives) 63 | - [Pandas Alternatives](#pandas-alternatives) 64 | - [Analytic tools](#analytic-tools) 65 | - [Metrics computation](#metrics-computation) 66 | - [Indicators](#indicators) 67 | - [Pricing](#pricing) 68 | - [Risk](#risk) 69 | - [Optimization](#optimization) 70 | - [TimeSeries Analysis](#timeseries-analysis) 71 | - [Visualization](#visualization) 72 | - [Message Queues](#message-queues) 73 | - [Databases](#databases) 74 | - [Data Source](#data-source) 75 | - [Stocks and General](#stocks-and-general) 76 | - [Alternative](#alternative) 77 | - [Crypto](#crypto) 78 | - [Broker APIs](#broker-apis) 79 | - [Quant Shops Code and Blog](#quant-shops-code-and-blog) 80 | - [Resources](#resources) 81 | - [Research](#research) 82 | - [Books](#books) 83 | - [Blogs](#blogs) 84 | - [Tutorials](#tutorials) 85 | - [Courses](#courses) 86 | - [Relevant Projects](#relevant-projects) 87 | 88 | ## 🔥 AI Powered Systematic Trading Systems 89 | 90 | - [AI Hedge Fund](https://github.com/virattt/ai-hedge-fund) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/virattt/ai-hedge-fund/main) ![GitHub Repo stars](https://img.shields.io/github/stars/virattt/ai-hedge-fund?style=social) | `Python` | - An AI Hedge Fund Team 91 | - [FinRL](https://github.com/AI4Finance-Foundation/FinRL) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/AI4Finance-Foundation/FinRL/master) ![GitHub Repo stars](https://img.shields.io/github/stars/AI4Finance-Foundation/FinRL?style=social) | Python | - FinRL is the first open-source framework to demonstrate the great potential of applying deep reinforcement learning in quantitative finance. 92 | - [FinGPT](https://github.com/AI4Finance-Foundation/FinGPT) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/AI4Finance-Foundation/FinGPT/master) ![GitHub Repo stars](https://img.shields.io/github/stars/AI4Finance-Foundation/FinGPT?style=social) - FinGPT: Open-Source Financial Large Language Models! Revolutionize 🔥 We release the trained model on HuggingFace. 93 | - [QLib (Microsoft)](https://github.com/microsoft/qlib) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/microsoft/qlib/main) ![GitHub Repo stars](https://img.shields.io/github/stars/microsoft/qlib?style=social) | Python, Cython | - Qlib is an AI-oriented quantitative investment platform, which aims to realize the potential, empower the research, and create the value of AI technologies in quantitative investment. With Qlib, you can easily try your ideas to create better Quant investment strategies. An increasing number of SOTA Quant research works/papers are released in Qlib. 94 | - [Qbot](https://github.com/UFund-Me/Qbot) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/UFund-Me/Qbot/main) ![GitHub Repo stars](https://img.shields.io/github/stars/UFund-Me/Qbot?style=social) | `Python` | - AI 自动量化交易机器人 AI-powered Quantitative Investment Research Platform. 95 | 96 | ## Backtest + live trading 97 | 98 | ### General purpose 99 | 100 | > Event Driven Frameworks 101 | 102 | Note: the one marked as `Live Trading` has reasonable live trading support for at least 1 broker. Otherwise, backtest 103 | function only. 104 | 105 | - [aat](https://github.com/AsyncAlgoTrading/aat) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/AsyncAlgoTrading/aat/main) ![GitHub Repo stars](https://img.shields.io/github/stars/AsyncAlgoTrading/aat?style=social) | Python, C++, Live Trading| - an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in C++. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges. 106 | - [* barter-rs](https://github.com/barter-rs/barter-rs) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/barter-rs/barter-rs/main) ![GitHub Repo stars](https://img.shields.io/github/stars/barter-rs/barter-rs?style=social) | Rust | - Open-source Rust framework for building event-driven live-trading & backtesting systems. Algorithmic trade with the peace of mind that comes from knowing your strategies have been backtested with a near-identical trading Engine. 107 | - [* bt](https://github.com/pmorissette/bt) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pmorissette/bt/master) ![GitHub Repo stars](https://img.shields.io/github/stars/pmorissette/bt?style=social) | Python | - Flexible backtesting for Python based on Algo and Strategy Tree 108 | - [Better Quant](https://github.com/byrnexu/betterquant) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/byrnexu/betterquant/master) ![GitHub Repo stars](https://img.shields.io/github/stars/byrnexu/betterquant?style=social) | C++, Live Trading | - Better quant today, best quant tomorrow. 💪 109 | - [Botvana](https://github.com/featherenvy/botvana) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/featherenvy/botvana/main) ![GitHub Repo stars](https://img.shields.io/github/stars/featherenvy/botvana?style=social) | Rust | - high-performance and event-driven trading system built using Rust 110 | - [backtrader](https://github.com/mementum/backtrader) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/mementum/backtrader/master) ![GitHub Repo stars](https://img.shields.io/github/stars/mementum/backtrader?style=social) | Python, Live Trading | - Event driven Python Backtesting library for trading strategies 111 | - [backtesting.py](https://github.com/kernc/backtesting.py) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/kernc/backtesting.py/master) ![GitHub Repo stars](https://img.shields.io/github/stars/kernc/backtesting.py?style=social) | Python | - Backtesting.py is a Python framework for inferring viability of trading strategies on historical (past) data. Improved upon the vision of Backtrader, and by all means surpassingly comparable to other accessible alternatives, Backtesting.py is lightweight, fast, user-friendly, intuitive, interactive, intelligent and, hopefully, future-proof. 112 | - [FlashFunk](https://github.com/HFQR/FlashFunk) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/HFQR/FlashFunk/master) ![GitHub Repo stars](https://img.shields.io/github/stars/HFQR/FlashFunk?style=social) | Rust | - High Performance Runtime in Rust 113 | - [QuantFabric](https://github.com/QuantFabric/QuantFabric) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/QuantFabric/QuantFabric/master) ![GitHub Repo stars](https://img.shields.io/github/stars/QuantFabric/QuantFabric?style=social) | C++ | - QuantFabric是基于Linux/C++开发的中高频量化交易系统,支持中金所、郑商所、大商所、上期所、上海国际能源中心的期货业务品种交易,支持上交所、深交所的股票、债券品种交易。 114 | - [gobacktest](https://github.com/gobacktest/gobacktest) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/gobacktest/gobacktest/main) ![GitHub Repo stars](https://img.shields.io/github/stars/gobacktest/gobacktest?style=social) | Go | - A Go implementation of event-driven backtesting framework 115 | - [Hikyuu](https://github.com/fasiondog/hikyuu) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/fasiondog/hikyuu/master) ![GitHub Repo stars](https://img.shields.io/github/stars/fasiondog/hikyuu?style=social) | C++, Python| - Hikyuu Quant Framework 基于C++/Python的开源量化交易研究框架 116 | - [Investing Algorithm Framework](https://github.com/coding-kitties/investing-algorithm-framework/tree/main) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/coding-kitties/investing-algorithm-framework/main) ![GitHub Repo stars](https://img.shields.io/github/stars/coding-kitties/investing-algorithm-framework?style=social) | Python | - Framework for developing, backtesting, and deploying automated trading algorithms and trading bots. 117 | - [lumibot](https://github.com/Lumiwealth/lumibot) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Lumiwealth/lumibot/master) ![GitHub Repo stars](https://img.shields.io/github/stars/Lumiwealth/lumibot?style=social) | Python | - A very simple yet useful backtesting and sample based live trading framework (a bit slow to run...) 118 | - [* nautilus_trader](https://github.com/nautechsystems/nautilus_trader) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/nautechsystems/nautilus_trader/master) ![GitHub Repo stars](https://img.shields.io/github/stars/nautechsystems/nautilus_trader?style=social) | Python, Cython, Rust, Live Trading | - A high-performance algorithmic trading platform and event-driven backtester 119 | - [PyBroker](https://github.com/edtechre/pybroker) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/edtechre/pybroker/master) ![GitHub Repo stars](https://img.shields.io/github/stars/edtechre/pybroker?style=social) | Python | - Algorithmic Trading in Python with Machine Learning 120 | - [QuantConnect](https://github.com/QuantConnect/Lean) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/QuantConnect/Lean/master) ![GitHub Repo stars](https://img.shields.io/github/stars/QuantConnect/Lean?style=social) | C#, .NET, Live Trading | - Lean Algorithmic Trading Engine by QuantConnect (Python, C#) 121 | - [QUANTAXIS](https://github.com/QUANTAXIS/QUANTAXIS) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/QUANTAXIS/QUANTAXIS/master) ![GitHub Repo stars](https://img.shields.io/github/stars/QUANTAXIS/QUANTAXIS?style=social) | Python, Rust, Live Trading | - QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权/港股/虚拟货币 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案 122 | - [Rqalpha](https://github.com/ricequant/rqalpha) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/ricequant/rqalpha/master) ![GitHub Repo stars](https://img.shields.io/github/stars/ricequant/rqalpha?style=social) | Python | - A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities 123 | - [quanttrader](https://github.com/letianzj/quanttrader) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/letianzj/quanttrader/master) ![GitHub Repo stars](https://img.shields.io/github/stars/letianzj/quanttrader?style=social) | Python | - Backtest and live trading in Python. Event based. Similar to backtesting.py. 124 | - [qf-lib](https://github.com/quarkfin/qf-lib) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/quarkfin/qf-lib/master) ![GitHub Repo stars](https://img.shields.io/github/stars/quarkfin/qf-lib?style=social) | Python | - Modular Python library that provides an advanced event driven backtester and a set of high quality tools for quantitative finance. Integrated with various data vendors and brokers, supports Crypto, Stocks and Futures. 125 | - [sdoosa-algo-trade-python](https://github.com/sreenivasdoosa/sdoosa-algo-trade-python) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/sreenivasdoosa/sdoosa-algo-trade-python/master) ![GitHub Repo stars](https://img.shields.io/github/stars/sreenivasdoosa/sdoosa-algo-trade-python?style=social) | Python | - This project is mainly for newbies into algo trading who are interested in learning to code their own trading algo using python interpreter. 126 | - [* vnpy](https://github.com/vnpy/vnpy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/vnpy/vnpy/master) ![GitHub Repo stars](https://img.shields.io/github/stars/vnpy/vnpy?style=social) | Python, Stock, Futures, Crypto, Live Trading | - Python-based open source quantitative trading system development framework, officially released in January 2015, has grown step by step into a full-featured quantitative trading platform 127 | - [WonderTrader](https://github.com/wondertrader/wondertrader) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/wondertrader/wondertrader/master) ![GitHub Repo stars](https://img.shields.io/github/stars/wondertrader/wondertrader?style=social) | C++, Python | - WonderTrader——量化研发交易一站式框架 128 | - [zvt](https://github.com/zvtvz/zvt) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/zvtvz/zvt/master) ![GitHub Repo stars](https://img.shields.io/github/stars/zvtvz/zvt?style=social) | Python, Stock, Backtest | - Modular quant framework 129 | - [zipline](https://github.com/quantopian/zipline) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/quantopian/zipline/master) ![GitHub Repo stars](https://img.shields.io/github/stars/quantopian/zipline?style=social) | Python | - Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. 130 | - [PandoraTrader](https://github.com/pegasusTrader/PandoraTrader) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pegasusTrader/PandoraTrader/master) ![GitHub Repo stars](https://img.shields.io/github/stars/pegasusTrader/PandoraTrader?style=social) | C++ | - CTP 高频量化交易平台 C++ Trade Platform for quant developer 131 | - [hftbacktest](https://github.com/nkaz001/hftbacktest) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/nkaz001/hftbacktest/master) ![GitHub Repo stars](https://img.shields.io/github/stars/nkaz001/hftbacktest?style=social) | Python, numba | - A high-frequency trading and market-making backtesting tool accounts for limit orders, queue positions, and latencies, utilizing full tick data for trades and order books. 132 | - [Cipher](https://github.com/nanvel/cipher-bt) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/nanvel/cipher-bt/master) ![GitHub Repo stars](https://img.shields.io/github/stars/nanvel/cipher-bt?style=social) | Python | - Backtesting library with focus on position adjustment that allows testing complicated setups. Pythonic, extensible, well-structured, documented. 133 | 134 | > Vector Based Frameworks 135 | 136 | - [QTradeX](https://github.com/squidKid-deluxe/QTradeX-Algo-Trading-SDK) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/squidKid-deluxe/QTradeX-Algo-Trading-SDK) ![GitHub Repo stars](https://img.shields.io/github/stars/squidKid-deluxe/QTradeX-Algo-Trading-SDK?style=social) | Python, Live Trading | - A powerful and flexible Python framework for designing, backtesting, optimizing, and deploying algotrading bots 137 | - [FinHack](https://github.com/FinHackCN/finhack) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/FinHackCN/finhack/main) ![GitHub Repo stars](https://img.shields.io/github/stars/FinHackCN/finhack?style=social) | Python | - 一个易于拓展的量化金融框架,它在当前版本中集成了数据采集、因子计算、因子挖掘、因子分析、机器学习、策略编写、量化回测、实盘接入等全流程的量化投研工作 138 | - [pysystemtrade](https://github.com/robcarver17/pysystemtrade) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/robcarver17/pysystemtrade/master) ![GitHub Repo stars](https://img.shields.io/github/stars/robcarver17/pysystemtrade?style=social) | Python, Live Trading | - Systematic Trading in python from book by Rob Carver 139 | - [finmarketpy](https://github.com/cuemacro/finmarketpy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/cuemacro/finmarketpy/master) ![GitHub Repo stars](https://img.shields.io/github/stars/cuemacro/finmarketpy?style=social) | Python | - Python library for backtesting trading strategies & analyzing financial markets (formerly pythalesians) 140 | - [vectorbt](https://github.com/polakowo/vectorbt) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/polakowo/vectorbt/master) ![GitHub Repo stars](https://img.shields.io/github/stars/polakowo/vectorbt?style=social) | Python, numba | - vectorbt takes a novel approach to backtesting: it operates entirely on pandas and NumPy objects, and is accelerated by Numba to analyze any data at speed and scale. This allows for testing of many thousands of strategies in seconds. 141 | - [fund-strategy](https://github.com/SunshowerC/fund-strategy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/SunshowerC/fund-strategy/master) ![GitHub Repo stars](https://img.shields.io/github/stars/SunshowerC/fund-strategy?style=social) | TypeScript | - 一个简单实用的基金投资策略分析,基金回测工具 142 | - [fastquant](https://github.com/enzoampil/fastquant) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/enzoampil/fastquant/master) ![GitHub Repo stars](https://img.shields.io/github/stars/enzoampil/fastquant?style=social) | Python | - Backtest and optimize your ML trading strategies with only 3 lines of code 143 | 144 | ### Crypto currency focus 145 | 146 | - [basana](https://github.com/gbeced/basana) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/gbeced/basana/master) ![GitHub Repo stars](https://img.shields.io/github/stars/gbeced/basana?style=social) | Python | - A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies. 147 | - [c-binance-future-quant](https://github.com/Melelery/c-binance-future-quant/tree/main) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Melelery/c-binance-future-quant/main) ![GitHub Repo stars](https://img.shields.io/github/stars/Melelery/c-binance-future-quant?style=social) | Python | - 低成本,高效率,简单实现的币安合约量化系统架构 148 | - [triangular-arbitrage2](https://github.com/zlq4863947/triangular-arbitrage2) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/zlq4863947/triangular-arbitrage2/main) ![GitHub Repo stars](https://img.shields.io/github/stars/zlq4863947/triangular-arbitrage2?style=social) | TypeScript | - a server side application for perform triangular arbitrage. 149 | - [bTrader](https://github.com/gabriel-milan/btrader) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/gabriel-milan/btrader/master) ![GitHub Repo stars](https://img.shields.io/github/stars/gabriel-milan/btrader?style=social) | Rust | - Triangle arbitrage trading bot for Binance 150 | - [crypto-crawler-rs](https://github.com/crypto-crawler/crypto-crawler-rs) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/crypto-crawler/crypto-crawler-rs/main) ![GitHub Repo stars](https://img.shields.io/github/stars/crypto-crawler/crypto-crawler-rs?style=social) | Rust | - Crawl orderbook and trade messages from crypto exchanges 151 | - [cryptotrader-core](https://github.com/monomadic/cryptotrader-core) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/monomadic/cryptotrader-core/master) ![GitHub Repo stars](https://img.shields.io/github/stars/monomadic/cryptotrader-core?style=social) | Rust | - Simple to use Crypto Exchange REST API client in rust. 152 | - [openlimits](https://github.com/nash-io/openlimits) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/nash-io/openlimits/main) ![GitHub Repo stars](https://img.shields.io/github/stars/nash-io/openlimits?style=social) | Rust | - A Rust high performance cryptocurrency trading API with support for multiple exchanges and language wrappers. 153 | - [Freqtrade](https://github.com/freqtrade/freqtrade) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/freqtrade/freqtrade/develop) ![GitHub Repo stars](https://img.shields.io/github/stars/freqtrade/freqtrade?style=social) | Python | - Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning. 154 | - [* Hummingbot](https://github.com/CoinAlpha/hummingbot) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/CoinAlpha/hummingbot/development) ![GitHub Repo stars](https://img.shields.io/github/stars/CoinAlpha/hummingbot?style=social) | Python, Cython, Live Trading | - A client for crypto market making 155 | - [Jesse](https://github.com/jesse-ai/jesse) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/jesse-ai/jesse/master) ![GitHub Repo stars](https://img.shields.io/github/stars/jesse-ai/jesse?style=social) | Python | - Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. 156 | - [* OctoBot](https://github.com/Drakkar-Software/OctoBot) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Drakkar-Software/OctoBot/master) ![GitHub Repo stars](https://img.shields.io/github/stars/Drakkar-Software/OctoBot?style=social) | Python, Cython, Live Trading| - Cryptocurrency trading bot for TA, arbitrage and social trading with an advanced web interface 157 | - [Kelp](https://github.com/stellar/kelp) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/stellar/kelp/master) ![GitHub Repo stars](https://img.shields.io/github/stars/stellar/kelp?style=social) | Go, Live Trading | - Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges 158 | - [exc](https://github.com/Nouzan/exc) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Nouzan/exc/main) ![GitHub Repo stars](https://img.shields.io/github/stars/Nouzan/exc?style=social) | Rust | - The abstraction layer of exchanges. 159 | - [MyCryptoBot](https://github.com/diogomatoschaves/MyCryptoBot) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/diogomatoschaves/MyCryptoBot/master) ![GitHub Repo stars](https://img.shields.io/github/stars/diogomatoschaves/MyCryptoBot?style=social) | Python, Js | - Automated, open source crypto trading and backtesting platform 160 | 161 | ### Machine Learning / Reinforcement Learning Focused 162 | 163 | > ML, RL 164 | 165 | - [TradingGym](https://github.com/Yvictor/TradingGym) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Yvictor/TradingGym/master) ![GitHub Repo stars](https://img.shields.io/github/stars/Yvictor/TradingGym?style=social) | Python, Live Trading | - Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo. 166 | - [Stock Trading Bot using Deep Q-Learning](https://github.com/pskrunner14/trading-bot) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pskrunner14/trading-bot/master) ![GitHub Repo stars](https://img.shields.io/github/stars/pskrunner14/trading-bot?style=social) | Python | - Stock Trading Bot using Deep Q-Learning 167 | 168 | ## Alpha Collections 169 | 170 | ### General Alpha 171 | 172 | - [Python quantitative trading strategies including VIX Calculator, Pattern Recognition, Commodity Trading Advisor, Monte Carlo, Options Straddle, Shooting Star, London Breakout, Heikin-Ashi, Pair Trading, RSI, Bollinger Bands, Parabolic SAR, Dual Thrust, Awesome, MACD](https://github.com/je-suis-tm/quant-trading#15-vix-calculator) 173 | - [analyzingalpha](https://github.com/leosmigel/analyzingalpha) 174 | - [Finance](https://github.com/shashankvemuri/Finance) | `Python` | - 150+ quantitative finance Python programs to help you gather, manipulate, and analyze stock market data 175 | - [ThetaGang](https://github.com/brndnmtthws/thetagang) - ThetaGang is an IBKR bot for collecting money 176 | - 177 | - [PyTrendFollow](https://github.com/chrism2671/PyTrendFollow) | `Python` | - PyTrendFollow - systematic futures trading using trend following 178 | - [czsc - 缠中说禅技术分析工具](https://github.com/waditu/czsc) | `Python` | - 缠中说禅技术分析工具;缠论;股票;期货;Quant;量化交易 179 | - [volest](https://github.com/jasonstrimpel/volatility-trading) | `Python` | - A complete set of volatility estimators based on Euan Sinclair's Volatility Trading 180 | - [quant-trading](https://github.com/je-suis-tm/quant-trading) | `Python` | - Python quantitative trading strategies including VIX Calculator, Pattern Recognition, Commodity Trading Advisor, Monte Carlo, Options Straddle, Shooting Star, London Breakout, Heikin-Ashi, Pair Trading, RSI, Bollinger Bands, Parabolic SAR, Dual Thrust, Awesome, MACD 181 | - [一个中文策略合集](https://github.com/fmzquant/strategies) | `Python` | 182 | - [一个实盘的股票趋势策略](https://github.com/BigBrotherTrade/trader) | `Python` | - 183 | - [Quantitative-analysis](https://github.com/hugo2046/QuantsPlaybook) | `Python` | - 量化研究-券商金工研报复现 184 | 185 | ### Expression based alpha 186 | 187 | - [torchquantum](https://github.com/nymath/torchquantum) | `Cython`, `C`, `Python` | - TorchQuantum is a backtesting framework that integrates the structure of PyTorch and WorldQuant's Operator for efficient quantitative financial analysis. 188 | - [OpenAlpha](https://github.com/caoruicn/openalpha) | `C++` | - An open source equity statistical arbitrage backtest simulator, use the same API as WorldQuant's WebSim 189 | - [stock](https://github.com/xcycharles/stock) | `Python` | - 一些因子挖掘的代码 A 股 190 | - [AlphaGen](https://github.com/RL-MLDM/alphagen) | `Python` | - Automatic formulaic alpha generation with reinforcement learning. 191 | - [Genetic-Alpha](https://github.com/Morgansy/Genetic-Alpha) - A genetic programming algorithm used for generating alpha factors in the multi-factor investment strategy 192 | - [alpha_examples](https://github.com/wukan1986/alpha_examples) - An expression based alpha demo using Polars 193 | 194 | ### Stock picking 195 | 196 | - [InvesTool](https://github.com/axiaoxin-com/investool) | `Go` | - Golang实现财报分析、个股基本面检测、基本面选股、4433法则基金筛选与检测、基金持仓相似度、股票选基、基金经理筛选 197 | - [Sequoia选股系统](https://github.com/sngyai/Sequoia#sequoia%E9%80%89%E8%82%A1%E7%B3%BB%E7%BB%9F) | `Python` | - A股自动选股程序,实现了海龟交易法则、缠中说禅牛市买点,以及其他若干种技术形态 198 | 199 | ### Orderbook 200 | 201 | - [The Microprice](https://github.com/sstoikov/microprice/tree/master) - An estimator of the fair price, given the state of the order book. 202 | 203 | ### Arbitrage (Crypto) 204 | 205 | > Note: these bots are old and not maintained. I put them here just to show some logic of crypto arbitrage. 206 | 207 | - [Blackbird](https://github.com/butor/blackbird) | `C++` | - Blackbird Bitcoin Arbitrage: a long/short market-neutral strategy 208 | - [bitcoin-arbitrage](https://github.com/maxme/bitcoin-arbitrage) | `Python` | - Bitcoin arbitrage - opportunity detector 209 | - [R2 Bitcoin Arbitrager](https://github.com/bitrinjani/r2) | `TypeScript` | - R2 Bitcoin Arbitrager is an automatic arbitrage trading system powered by Node.js + TypeScript. 210 | 211 | ## Basic Components 212 | 213 | ### Fundamental libraries 214 | 215 | - [Cvxpy](https://github.com/cvxpy/cvxpy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/cvxpy/cvxpy/master) ![GitHub Repo stars](https://img.shields.io/github/stars/cvxpy/cvxpy?style=social) | Python, C++ | - A Python-embedded modeling language for convex optimization problems. 216 | - [jax](https://github.com/google/jax) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/google/jax/main) ![GitHub Repo stars](https://img.shields.io/github/stars/google/jax?style=social) | `Python` | - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more 217 | - [Numpy](https://github.com/numpy/numpy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/numpy/numpy/main) ![GitHub Repo stars](https://img.shields.io/github/stars/numpy/numpy?style=social) | Python, C | - The fundamental package for scientific computing with Python 218 | - Modelling 219 | - [Scipy](https://github.com/scipy/scipy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/scipy/scipy/main) ![GitHub Repo stars](https://img.shields.io/github/stars/scipy/scipy?style=social) | Python, C | - Fundamental algorithms for scientific computing in Python 220 | - [statsmodels](https://github.com/statsmodels/statsmodels/) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/statsmodels/statsmodels/main) ![GitHub Repo stars](https://img.shields.io/github/stars/statsmodels/statsmodels?style=social) - Python module that allows users to explore data, estimate statistical models, and perform statistical tests. 221 | - [PyMC](https://github.com/pymc-devs/pymc) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/statsmodels/statsmodels/main) ![GitHub Repo stars](https://img.shields.io/github/stars/pymc-devs/pymc?style=social) | Python | - Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara 222 | - [DEAP](https://github.com/DEAP/deap) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/DEAP/deap/master) ![GitHub Repo stars](https://img.shields.io/github/stars/DEAP/deap?style=social) |Python| - Distributed Evolutionary Algorithms in Python 223 | - DataFrame 224 | - [Pandas](https://github.com/pandas-dev/pandas) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pandas-dev/pandas/main) ![GitHub Repo stars](https://img.shields.io/github/stars/pandas-dev/pandas?style=social) | Python, Cython | - Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more 225 | - [Polars](https://github.com/pola-rs/polars) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pola-rs/polars/main) ![GitHub Repo stars](https://img.shields.io/github/stars/pola-rs/polars?style=social)| Rust, Python | - Polars is a blazingly fast DataFrames library implemented in Rust using Apache Arrow Columnar Format as memory model. 226 | - [FireDucks](https://fireducks-dev.github.io/) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/fireducks-dev/fireducks/main) - Compiler Accelerated DataFrame Library for Python with fully-compatible pandas API 227 | - Machine Learning 228 | - [Hugging Face](https://github.com/huggingface/) ![GitHub Repo stars](https://img.shields.io/github/stars/huggingface?style=social) - The AI community building the future. 229 | - [LangChain](https://github.com/langchain-ai/langchain) ![GitHub Repo stars](https://img.shields.io/github/stars/langchain-ai/langchain?style=social) - Building applications with LLMs through composability 230 | - [Sikit-learn](https://github.com/scikit-learn/scikit-learn) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/scikit-learn/scikit-learn/main) ![GitHub Repo stars](https://img.shields.io/github/stars/scikit-learn/scikit-learn?style=social) | Python, Cython | - Machine learning in Python 231 | - [JAX](https://github.com/google/jax) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/google/jax/main) ![GitHub Repo stars](https://img.shields.io/github/stars/google/jax?style=social) - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more 232 | - [Pytorch](https://github.com/pytorch/pytorch) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pytorch/pytorch/main) ![GitHub Repo stars](https://img.shields.io/github/stars/pytorch/pytorch?style=social) | Python | - Tensors and Dynamic neural networks in Python with strong GPU acceleration 233 | - [Keras](https://github.com/keras-team/keras) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/keras-team/keras/master) ![GitHub Repo stars](https://img.shields.io/github/stars/keras-team/keras?style=social) | Python | - The most user friendly Deep Learning for humans in Python 234 | - [TensorFlow](https://github.com/tensorflow/tensorflow) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/tensorflow/tensorflow/master) ![GitHub Repo stars](https://img.shields.io/github/stars/tensorflow/tensorflow?style=social) | Python, C++ | - More low level Deep Learning framework 235 | - DAG 236 | - [Rustworkx](https://github.com/Qiskit/rustworkx/tree/main) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Qiskit/rustworkx/main) ![GitHub Repo stars](https://img.shields.io/github/stars/Qiskit/rustworkx?style=social) | Rust, Python | - A high performance Python graph library implemented in Rust. 237 | - [Networkx](https://github.com/networkx/networkx) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/networkx/networkx/main) ![GitHub Repo stars](https://img.shields.io/github/stars/networkx/networkx?style=social) | Python | - Network Analysis in Python 238 | 239 | ### Computation 240 | 241 | - [Ray](https://github.com/ray-project/ray) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/ray-project/ray/master) ![GitHub Repo stars](https://img.shields.io/github/stars/ray-project/ray?style=social) | Python, C++ | - An open source framework that provides a simple, universal API for building distributed applications. 242 | - [csp (Point72)](https://github.com/Point72/csp/tree/main) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Point72/csp/main) ![GitHub Repo stars](https://img.shields.io/github/stars/Point72/csp?style=social) | Python, C++ | - csp is a high performance reactive stream processing library, written in C++ and Python 243 | - [Dask](https://github.com/dask/dask) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/dask/dask/main) ![GitHub Repo stars](https://img.shields.io/github/stars/dask/dask?style=social) | Python | - Parallel computing with task scheduling in Python with a Pandas like API 244 | - [Spark](https://github.com/apache/spark) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/apache/spark/master) ![GitHub Repo stars](https://img.shields.io/github/stars/apache/spark?style=social) | Scala | - Apache Spark - A unified analytics engine for large-scale data processing 245 | - [Hamilton](https://github.com/dagworks-inc/hamilton) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/dagworks-inc/hamilton/main) ![GitHub Repo stars](https://img.shields.io/github/stars/dagworks-inc/hamilton?style=social)| Python | - A scalable general purpose micro-framework for defining dataflows. You can use it to build dataframes, numpy matrices, python objects, ML models, etc. Embed Hamilton anywhere python runs, e.g. spark, airflow, jupyter, fastapi, python scripts, etc. 246 | - [Incremental (JaneStreet)](https://github.com/janestreet/incremental) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/janestreet/incremental/master) ![GitHub Repo stars](https://img.shields.io/github/stars/janestreet/incremental?style=social) | Ocaml | - Incremental is a library that gives you a way of building complex computations that can update efficiently in response to their inputs changing, inspired by the work of Umut Acar et. al. on self-adjusting computations. Incremental can be useful in a number of applications 247 | - [Joblib](https://github.com/joblib/joblib) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/joblib/joblib/main) ![GitHub Repo stars](https://img.shields.io/github/stars/joblib/joblib?style=social) | Python | - running Python functions as pipeline jobs 248 | - [Tributary](https://github.com/timkpaine/tributary) ![GitHub Repo stars](https://img.shields.io/github/stars/timkpaine/tributary?style=social) | Python | - Streaming reactive and dataflow graphs in Python 249 | - [GraphKit(No activity)](https://github.com/yahoo/graphkit) ![GitHub Repo stars](https://img.shields.io/github/stars/yahoo/graphkit?style=social) | Python | - A lightweight Python module for creating and running ordered graphs of computations. 250 | - [Man MDF (No activity)](https://github.com/man-group/mdf) ![GitHub Repo stars](https://img.shields.io/github/stars/man-group/mdf?style=social) | Python | - Data-flow programming toolkit for Python 251 | - [Anchors - C++(No activity)](https://github.com/oluwatimilehin/anchors) ![GitHub Repo stars](https://img.shields.io/github/stars/oluwatimilehin/anchors?style=social) | C++ | - C++ library for incremental computing 252 | - [Anchors - Rust(No activity)](https://github.com/lord/anchors) ![GitHub Repo stars](https://img.shields.io/github/stars/lord/anchors?style=social) | Rust | - self adjusting computations in rust 253 | - [Loman (No activity)](https://github.com/janushendersonassetallocation/loman) ![GitHub Repo stars](https://img.shields.io/github/stars/janushendersonassetallocation/loman?style=social) | Python | - Loman is a Python library designed to allow quantitative researchers to control complex live updating calculation processes 254 | 255 | ### Python Performance Booster 256 | 257 | - [cython](https://github.com/cython/cython) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/cython/cython/master) ![GitHub Repo stars](https://img.shields.io/github/stars/cython/cython?style=social) - Cython is a Python compiler that makes writing C extensions for Python as easy as Python itself. Cython is based on Pyrex, but supports more cutting edge functionality and optimizations. 258 | - [numba](https://github.com/numba/numba) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/numba/numba/main) ![GitHub Repo stars](https://img.shields.io/github/stars/numba/numba?style=social) - NumPy aware dynamic Python compiler using LLVM 259 | - [pybind11](https://github.com/pybind/pybind11) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pybind/pybind11/master) ![GitHub Repo stars](https://img.shields.io/github/stars/pybind/pybind11?style=social) - Seamless operability between C++11 and Python 260 | - [pyo3](https://github.com/PyO3/pyo3) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/numba/numba/main) ![GitHub Repo stars](https://img.shields.io/github/stars/PyO3/pyo3?style=social) - Rust bindings for the Python interpreter 261 | - [CuPy](https://github.com/cupy/cupy/) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/cupy/cupy/main) ![GitHub Repo stars](https://img.shields.io/github/stars/cupy/cupy?style=social) | Python, C++, Cython, Cuda | - CuPy is an open-source array library for GPU-accelerated computing with Python. 100x Boost for some operations 262 | - [CuDF](https://github.com/rapidsai/cudf) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/rapidsai/cudf/main) ![GitHub Repo stars](https://img.shields.io/github/stars/rapidsai/cudf?style=social) | Python | - cuDF - GPU DataFrame Library. No-code-change accelerator for pandas. 263 | - [codon](https://github.com/exaloop/codon) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/exaloop/codon/develop) ![GitHub Repo stars](https://img.shields.io/github/stars/exaloop/codon?style=social) | C++ | - A high-performance, zero-overhead, extensible Python compiler using LLVM 264 | - [Bottleneck](https://github.com/pydata/bottleneck) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pydata/bottleneck/master) ![GitHub Repo stars](https://img.shields.io/github/stars/pydata/bottleneck?style=social) | Python, C | - Fast NumPy array functions written in C 265 | - [NumExpr](https://github.com/pydata/numexpr) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/pydata/numexpr/master) ![GitHub Repo stars](https://img.shields.io/github/stars/pydata/numexpr?style=social) | Python, C++ | - Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more 266 | - [pandarallel](https://github.com/nalepae/pandarallel) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/nalepae/pandarallel/master) ![GitHub Repo stars](https://img.shields.io/github/stars/nalepae/pandarallel?style=social) | Python | - A simple and efficient tool to parallelize Pandas operations on all available CPUs 267 | 268 | ### Python Profilers 269 | 270 | - [py-spy](https://github.com/benfred/py-spy) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/benfred/py-spy/master) ![GitHub Repo stars](https://img.shields.io/github/stars/benfred/py-spy?style=social) - Sampling profiler for Python programs 271 | - [pyinstrument](https://github.com/joerick/pyinstrument) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/joerick/pyinstrument/main) ![GitHub Repo stars](https://img.shields.io/github/stars/joerick/pyinstrument?style=social) - Call stack profiler for Python. Shows you why your code is slow! 272 | - [Memray](https://github.com/bloomberg/memray) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/bloomberg/memray/main) ![GitHub Repo stars](https://img.shields.io/github/stars/bloomberg/memray?style=social) - Memray is a memory profiler for Python 273 | 274 | ### Alternative libraries 275 | 276 | #### Numpy Alternatives 277 | 278 | - [ndarray](https://github.com/rust-ndarray/ndarray) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/rust-ndarray/ndarray/master) ![GitHub Repo stars](https://img.shields.io/github/stars/rust-ndarray/ndarray?style=social) | Rust | - ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations 279 | - [faer](https://github.com/sarah-ek/faer-rs) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/sarah-ek/faer-rs/main) ![GitHub Repo stars](https://img.shields.io/github/stars/sarah-ek/faer-rs?style=social) | Rust | - Linear algebra foundation for the Rust programming language 280 | 281 | #### Pandas Alternatives 282 | 283 | - [DataFrame](https://github.com/hosseinmoein/DataFrame) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/hosseinmoein/DataFrame/master) ![GitHub Repo stars](https://img.shields.io/github/stars/hosseinmoein/DataFrame?style=social) | C++ | - C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types and contiguous memory storage 284 | - [Vaex](https://github.com/vaexio/vaex) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/vaexio/vaex/master) ![GitHub Repo stars](https://img.shields.io/github/stars/vaexio/vaex?style=social) | Python, C++ | - Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 285 | - [Modin](https://github.com/modin-project/modin) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/modin-project/modin/main) ![GitHub Repo stars](https://img.shields.io/github/stars/modin-project/modin?style=social) | Python | - Modin: Speed up your Pandas workflows by changing a single line of code 286 | - [Koalas](https://github.com/databricks/koalas) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/databricks/koalas/master) ![GitHub Repo stars](https://img.shields.io/github/stars/databricks/koalas?style=social) | Python | - Koalas: pandas API on Apache Spark 287 | 288 | ## Analytic tools 289 | 290 | ### Metrics computation 291 | 292 | - [alphalens (Fork)](https://github.com/wangzhe3224/alphalens) | `Python` | - Performance analysis of predictive (alpha) stock factors 293 | - [ffn](https://github.com/pmorissette/ffn) | `Python` | - A financial function library for Python 294 | - [quantstats](https://github.com/ranaroussi/quantstats) | `Python` | - Portfolio analytics for quants, written in Python 295 | 296 | ### Indicators 297 | 298 | - [TA-Lib](https://ta-lib.org) | `C` | - Perform technical analysis of financial market data 299 | - [Python Wrapper](https://github.com/mrjbq7/ta-lib) | `Python` | 300 | - [Go Port](https://github.com/markcheno/go-talib) | `Go` | 301 | - [Rust Wrapper](https://github.com/CLevasseur/ta-lib-rust) | `Rust` | 302 | - [ta-rust](https://github.com/greyblake/ta-rs) | `Rust` | - Technical analysis library for Rust language 303 | - [finta](https://github.com/peerchemist/finta) | `Python` | - Common financial technical indicators implemented in Pandas 304 | - [pandas-ta](https://github.com/twopirllc/pandas-ta) | `Python` | - Pandas Technical Analysis (Pandas TA) is an easy to use library that leverages the Pandas package with more than 130 Indicators and Utility functions and more than 60 TA Lib Candlestick Patterns. 305 | - [kand](https://github.com/rust-ta/kand) | `Rust` & `Python` | - A blazingly fast technical analysis library in Rust and Python. 306 | - [chart-patterns](https://github.com/focus1691/chart-patterns) | `TypeScript` | - Technical analysis library for chart patterns, price action, and volume-based pattern detection. 307 | 308 | ### Pricing 309 | 310 | - [Quantlib](https://www.quantlib.org) 311 | - [PyQL](https://github.com/enthought/pyql) | `Python`, `Cython` | - Python wrapper of the famous pricing library QuantLib 312 | - [QuantLib.jl](https://github.com/pazzo83/QuantLib.jl) | `Julia` | - Quantlib implementation in pure Julia. 313 | - [FinancePy](https://github.com/domokane/FinancePy) | `Python` | - A Python Finance Library that focuses on the pricing and risk-management of Financial Derivatives, including fixed-income, equity, FX and credit derivatives. 314 | - [tf-quant-finance](https://github.com/google/tf-quant-finance) - High-performance TensorFlow library for quantitative finance from Google 315 | - [vollib](https://github.com/vollib/vollib) | `Python` | - Fundamentally a swig/python wrapper around Peter Jaeckel's lets_be_rational. lets_be_rational focuses exclusively on Black76, while Vollib extends this to add support for Black-Scholes and Black-Scholes-Merton. 316 | 317 | ### Risk 318 | 319 | - [pyfolio](https://github.com/quantopian/pyfolio) | `Python` | - Portfolio and risk analytics in Python 320 | 321 | ### Optimization 322 | 323 | - [cvxportfolio](https://github.com/cvxgrp/cvxportfolio) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/cvxgrp/cvxportfolio/main) ![GitHub Repo stars](https://img.shields.io/github/stars/cvxgrp/cvxportfolio?style=social) | Python | - Portfolio optimization and back-testing. 324 | - [skfolio](https://github.com/skfolio/skfolio) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/skfolio/skfolio/main) ![GitHub Repo stars](https://img.shields.io/github/stars/skfolio/skfolio?style=social) | Python | - Python library for portfolio optimization built on top of scikit-learn 325 | - [Riskfolio-Lib](https://github.com/dcajasn/Riskfolio-Lib) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/dcajasn/Riskfolio-Lib/master) ![GitHub Repo stars](https://img.shields.io/github/stars/dcajasn/Riskfolio-Lib?style=social) | C++, Python | - Portfolio Optimization and Quantitative Strategic Asset Allocation in Python 326 | - [Deepdow](https://github.com/jankrepl/deepdow) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/jankrepl/deepdow/master) ![GitHub Repo stars](https://img.shields.io/github/stars/jankrepl/deepdow?style=social) | Python | - Python package connecting portfolio optimization and deep learning. Its goal is to facilitate research of networks that perform weight allocation in one forward pass. 327 | - [PyPortfolioOpt](https://github.com/robertmartin8/PyPortfolioOpt) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/robertmartin8/PyPortfolioOpt/master) ![GitHub Repo stars](https://img.shields.io/github/stars/robertmartin8/PyPortfolioOpt?style=social) | Python | - Financial portfolio optimizations in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity 328 | - [empyrial](https://github.com/ssantoshp/Empyrial) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/ssantoshp/Empyrial/main) ![GitHub Repo stars](https://img.shields.io/github/stars/ssantoshp/Empyrial?style=social) | Python | - Empyrial is a Python-based open-source quantitative investment library dedicated to financial institutions and retail investors, officially released in March 2021. 329 | - [spectre](https://github.com/Heerozh/spectre) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/Heerozh/spectre/master) ![GitHub Repo stars](https://img.shields.io/github/stars/Heerozh/spectre?style=social) | Python | - spectre is a GPU-accelerated Parallel quantitative trading library, focused on performance. 330 | 331 | ### TimeSeries Analysis 332 | 333 | - [tsfresh](https://github.com/blue-yonder/tsfresh) - Automatic extraction of relevant features from time series. 334 | - [Facebook Prophet](https://github.com/facebook/prophet) - Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth. 335 | - [pmdarima](https://github.com/alkaline-ml/pmdarima) - A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function. 336 | 337 | ## Visualization 338 | 339 | - [Matplotlib](https://github.com/matplotlib/matplotlib) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/matplotlib/matplotlib/main) ![GitHub Repo stars](https://img.shields.io/github/stars/matplotlib/matplotlib?style=social) | Python | - matplotlib: plotting with Python 340 | - [Seaborn](https://github.com/mwaskom/seaborn) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/mwaskom/seaborn/master) ![GitHub Repo stars](https://img.shields.io/github/stars/mwaskom/seaborn?style=social) | Python | - Statistical data visualization in Python 341 | - [Dash](https://github.com/plotly/dash) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/plotly/dash/master) ![GitHub Repo stars](https://img.shields.io/github/stars/plotly/dash?style=social) | Python | - Data Apps & Dashboards for Python. No JavaScript Required. 342 | - [Perspective](https://github.com/finos/perspective) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/finos/perspective/master) ![GitHub Repo stars](https://img.shields.io/github/stars/finos/perspective?style=social) | C++, Python | - A data visualization and analytics component, especially well-suited for large and/or streaming datasets. 343 | - [Streamlit](https://github.com/streamlit/streamlit) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/streamlit/streamlit/master) ![GitHub Repo stars](https://img.shields.io/github/stars/streamlit/streamlit?style=social) | Python | - Streamlit — A faster way to build and share data apps. 344 | - [gradio](https://github.com/gradio-app/gradio/) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/gradio-app/gradio/main) ![GitHub Repo stars](https://img.shields.io/github/stars/gradio-app/gradio?style=social) | Python | - Build and share delightful machine learning apps, all in Python. 345 | - [pylatex](https://github.com/JelteF/PyLaTeX/) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/JelteF/PyLaTeX/master) ![GitHub Repo stars](https://img.shields.io/github/stars/JelteF/PyLaTeX?style=social) | Python | - A Python library for creating LaTeX files 346 | - [D-Tale (Man Group)](https://github.com/man-group/dtale) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/man-group/dtale/master) ![GitHub Repo stars](https://img.shields.io/github/stars/man-group/dtale?style=social) | JavaScript, Python | - D-Tale is the combination of a Flask back-end and a React front-end to bring you an easy way to view & analyze Pandas data structures. 347 | - [mplfinance](https://github.com/matplotlib/mplfinance) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/matplotlib/mplfinance/master) ![GitHub Repo stars](https://img.shields.io/github/stars/matplotlib/mplfinance?style=social) | Python | - Financial Markets Data Visualization using Matplotlib 348 | - [btplotting](https://github.com/happydasch/btplotting) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/happydasch/btplotting/master) ![GitHub Repo stars](https://img.shields.io/github/stars/happydasch/btplotting?style=social) | Python, bokeh | - btplotting provides plotting for backtests, optimization results and live data from backtrader. 349 | 350 | ## Message Queues 351 | 352 | - [Kafka](https://github.com/apache/kafka) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/apache/kafka/master) ![GitHub Repo stars](https://img.shields.io/github/stars/apache/kafka?style=social) | Java | - Mirror of Apache Kafka 353 | - [RedPanda](https://github.com/redpanda-data/redpanda/) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/redpanda-data/redpanda/main) ![GitHub Repo stars](https://img.shields.io/github/stars/redpanda-data/redpanda?style=social) | C++ | - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM! 354 | - [BlazingMQ](https://github.com/bloomberg/blazingmq) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/bloomberg/blazingmq/main) ![GitHub Repo stars](https://img.shields.io/github/stars/bloomberg/blazingmq?style=social) | C++ | - A modern high-performance open source message queuing system 355 | 356 | ## Databases 357 | 358 | - [ArcticDB (Man Group)](https://github.com/man-group/ArcticDB) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/man-group/ArcticDB/master)| `C++`, `Python` | - ArcticDB is a high performance, serverless DataFrame database built for the Python Data Science ecosystem. 359 | - [DuckDB](https://github.com/duckdb/duckdb) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/duckdb/duckdb/main) | `C++`, `Python` | - ArcticDB is a high performance, serverless DataFrame database built for the Python Data Science ecosystem. 360 | - [pylance](https://github.com/lancedb/lance) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/lancedb/lance/main) | `Rust` | - Modern columnar data format for ML and LLMs implemented in Rust. Convert from parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow 361 | - [Arctic (Man Group)](https://github.com/man-group/arctic) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/man-group/arctic/master) | `Python` | - High performance datastore for time series and tick data 362 | - [PyStore](https://github.com/ranaroussi/pystore) | `Python` | - Fast data store for Pandas time-series data 363 | - [Marketstore](https://github.com/alpacahq/marketstore) | `Go` | - DataFrame Server for Financial Timeseries Data 364 | - [Tectonicdb](https://github.com/0b01/tectonicdb) | `Rust` | - Tectonicdb is a fast, highly compressed standalone database and streaming protocol for order book ticks. 365 | - [Redis](https://github.com/redis/redis) | `C` | - Redis is an in-memory database that persists on disk. 366 | - [kdb](https://github.com/KxSystems) | `q` | - Companion files to kdb+ and q 367 | 368 | ## Data Source 369 | 370 | ### Stocks and General 371 | 372 | - [* OpenBB Terminal](https://github.com/OpenBB-finance/OpenBBTerminal) | `Python` | - Investment Research for Everyone, Anywhere. 373 | - [FinanceDatabase](https://github.com/JerBouma/FinanceDatabase) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/JerBouma/FinanceDatabase/main) - This is a database of 300.000+ symbols containing Equities, ETFs, Funds, Indices, Currencies, Cryptocurrencies and Money Markets. 374 | - [AkShare](https://github.com/akfamily/akshare) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/akfamily/akshare/main) |`Python`| - AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 375 | - [多因子模型数据](https://github.com/hugo2046/GetAstockFactors) - 获取经典的量化多因子模型数据 376 | - [findatapy](https://github.com/cuemacro/findatapy) |`Python`| - findatapy creates an easy to use Python API to download market data from many sources including Quandl, Bloomberg, Yahoo, Google etc. using a unified high level interface. 377 | - [yfinance](https://github.com/ranaroussi/yfinance) |`Python`| - yfinance offers a threaded and Pythonic way to download market data from Yahoo!Ⓡ finance. 378 | - [pandas-datareader](https://github.com/pydata/pandas-datareader) |`Python`| - Up to date remote data access for pandas, works for multiple versions of pandas. 379 | - [Wallstreet](https://github.com/mcdallas/wallstreet) |`Python`| - Wallstreet: Real time Stock and Option tools 380 | - [TuShare](https://github.com/waditu/tushare) |`Python`| - TuShare is a utility for crawling historical data of China stocks 381 | - [Investpy](https://github.com/alvarobartt/investpy) - Financial Data Extraction from Investing.com with Python 382 | - [awesome-data](https://github.com/akfamily/awesome-data) - Awesome-data shows most interesting data-source around the financial world 383 | - [Fundamental Analysis Data](https://github.com/JerBouma/FundamentalAnalysis) | `Python` | - Fully-fledged Fundamental Analysis package capable of collecting 20 years of Company Profiles, Financial Statements, Ratios and Stock Data of 20.000+ companies. 384 | - [Financial Data](https://financialdata.net/) - Stock Market and Financial Data API 385 | 386 | ### Alternative 387 | 388 | - [SEC EDGAR Filing API](https://github.com/janlukasschroeder/sec-api-python) 389 | 390 | ### Crypto 391 | 392 | - [Cryptofeed](https://github.com/bmoscon/cryptofeed) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/bmoscon/cryptofeed/master)|`Python`| - Cryptocurrency Exchange Websocket Data Feed Handler with Asyncio 393 | - [Orderflow](https://github.com/focus1691/orderflow) | `TypeScript`, `NestJS`, `TimescaleDB` | - Builds real-time Footprint Candles from WebSocket trade data across crypto exchanges. 394 | 395 | ## Broker APIs 396 | 397 | - [Ib_insync](https://github.com/erdewit/ib_insync) | `Python` | - Python sync/async framework for Interactive Brokers API 398 | - [PENDAX](https://github.com/CompendiumFi/PENDAX-SDK) | `JavaScript` | - A free Javascript library allowing simplified interaction with trading and data commands on a growing list of cryptocurrency exchanges like FTX, OKX, ByBit, & more. 399 | - [ccxt](https://github.com/ccxt/ccxt) | `Python`, `JavaScript` | - A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges 400 | - [Coinnect](https://github.com/hugues31/coinnect) | `Rust` | - Coinnect is a Rust library aiming to provide a complete access to main crypto currencies exchanges via REST API. 401 | - More is coming... (PR welcome) 402 | 403 | ## Quant Shops Code and Blog 404 | 405 | - **JaneStreet** 406 | - [JaneStreet Tech Blog](https://blog.janestreet.com/) 407 | - [JaneStreet Tech Podcast](https://signalsandthreads.com/) 408 | - [Tech Talks](https://www.janestreet.com/tech-talks/) 409 | - [Open Source](https://opensource.janestreet.com/) 410 | - Tech stack: Ocaml, C, F# 411 | - **Man AHL** 412 | - [Man Group Tech Blog](https://www.man.com/tech-articles-all) 413 | - [Podcast](https://www.man.com/maninstitute/podcasts) 414 | - [Open Source](https://github.com/man-group) 415 | - Tech stack: Python, JavaScript, Java, C, Go 416 | - **DE Show** 417 | - [Open Source](https://github.com/deshaw) 418 | - Tech stack: Python, TypeScript, JavaScript, Rust, Nix 419 | - **Two Sigma** 420 | - [Two Signal Engineering](https://www.twosigma.com/topic/engineering/) 421 | - [Open Source](https://github.com/twosigma) 422 | - Tech stack: Python, Java, C, Clojure, Rust 423 | - **Hudson River Trading - HRT** 424 | - [HRT Engineering](https://www.hudsonrivertrading.com/hrtbeat/category/engineering/) 425 | 426 | ## Resources 427 | 428 | ### Research 429 | 430 | - [RevenPack - Insight](https://www.ravenpack.com/insights/research/) 431 | - [Alexandria Technology - Insight](https://www.alexandriatechnology.com/insights) 432 | 433 | ### Books 434 | 435 | - [Building Low Latency Applications with C++](https://www.packtpub.com/product/building-low-latency-applications-with-c/9781837639359) 436 | - Source Code: 437 | - [Quantitative Portfolio Management: The Art and Science of Statistical Arbitrage (2021)](https://www.amazon.co.uk/Quantitative-Portfolio-Management-Statistical-Arbitrage/dp/1119821320/ref=asc_df_1119821320/?tag=googshopuk-21&linkCode=df0&hvadid=534858257189&hvpos=&hvnetw=g&hvrand=3040398248892159445&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9044954&hvtargid=pla-919734400242&psc=1&th=1&psc=1) 438 | - [Algorithmic Trading with Python (2020) by Chris Conlan](https://github.com/chrisconlan/algorithmic-trading-with-python) 439 | - [Python for Algorithmic Trading (2020) by Dr. Yves J. Hilpisch](https://github.com/yhilpisch/py4at) 440 | - [Systematic Trading: A unique new method for designing trading and investing systems by Robert Carver](https://github.com/robcarver17/pysystemtrade) 441 | - [Machine Learning for Algorithmic Trading: Predictive models to extract signals from market and alternative data for systematic trading strategies with Python](https://github.com/stefan-jansen/machine-learning-for-trading) 442 | - [Advances in Financial Machine Learning](https://github.com/BlackArbsCEO/Adv_Fin_ML_Exercises) 443 | - [Machine Learning for Asset Managers](https://github.com/emoen/Machine-Learning-for-Asset-Managers) 444 | 445 | ### Blogs 446 | 447 | - [QuantBox - Systematic trading toolbox](https://quant.funcoder.net/) 448 | - [大富翁量化](https://github.com/zillionare/zillionare) 449 | - [Proof Engineering: The Algorithmic Trading Platform](https://medium.com/prooftrading/proof-engineering-the-algorithmic-trading-platform-b9c2f195433d) 450 | 451 | ### Tutorials 452 | 453 | - [Algorithmic Trading for Cryptocurrencies in Python](https://github.com/tudorelu/tudorials/tree/master/trading) - A simple yet practical experiment tutorial for cryto trading. 454 | 455 | ### Courses 456 | 457 | - [Hudson and Thames Quantitative Research](https://github.com/hudson-and-thames) - Our mission is to promote the scientific method within investment management by codifying frameworks, algorithms, and best practices. 458 | - More is coming... (PR welcome) 459 | 460 | ## Relevant Projects 461 | 462 | - [量化交易知识集 @ 泛程序员](https://github.com/wangzhe3224/systematic-trading-knowledge-collection) - Collect knowledge around systematic trading, including software design, trading strategies, statistical skill. 量化交易/系统化交易知识集 463 | - [Awesome Quant 中文](https://github.com/thuquant/awesome-quant) - 中国的Quant相关资源索引 464 | - [awesome-deep-trading](https://github.com/cbailes/awesome-deep-trading) - List of awesome resources for machine learning-based algorithmic trading 465 | - [Awesome Crypto Trading Bots](https://github.com/botcrypto-io/awesome-crypto-trading-bots) 466 | -------------------------------------------------------------------------------- /Readme_cn.md: -------------------------------------------------------------------------------- 1 | # 棒棒的系统化交易 2 | 3 | > 量化交易 + 一点数据科学 4 | 5 | [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 6 | 7 | ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) 8 | ![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=java&logoColor=white) 9 | ![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=for-the-badge&logo=c%2B%2B&logoColor=white) 10 | ![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) 11 | ![Rust](https://img.shields.io/badge/rust-%23000000.svg?style=for-the-badge&logo=rust&logoColor=white) 12 | ![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge&logo=go&logoColor=white) 13 | ![Jupyter Notebook](https://img.shields.io/badge/jupyter-%23FA0F00.svg?style=for-the-badge&logo=jupyter&logoColor=white) 14 | [Start Tracker](https://seladb.github.io/StarTrack-js/#/preload?r=wangzhe3224,awesome-systematic-trading) 15 | 16 | [English Version](./Readme.md) 17 | 18 | > Open access: all rights granted for use and re-use of any kind, by anyone, at no cost, under your choice of either the free MIT License or Creative Commons CC-BY International Public License. 19 | > 20 | > © 2021 Zhe Wang ([知乎](https://www.zhihu.com/people/wangzhetju) | [wangzhetju@gmail.com](mailto:wangzhetju@gmai.com)) 21 | 22 | 我们怎么选项目呢? 23 | 24 | - 属于系统交易和量化交易范畴 25 | - 现在还在积极维护的 26 | - 具有优秀的编程书写风格和软件架构 27 | - (不全是) 有覆盖到测试 28 | 29 | **如果你找到好的项目,或者想删除过时的项目,可以 raise PR 哦!** 30 | 31 | 可以用快捷查找方式找到相关的libraries,比如:`Ctrl+F`, `Rust` 32 | 33 | 关于crypto相关的: [>> 点这里 Systematic Crypto](crypto_focus.md). 34 | 35 | - [棒棒的系统化交易](#棒棒的系统化交易) 36 | - [回测 + 实时交易](#回测--实时交易) 37 | - [General purpose](#general-purpose) 38 | - [加密货币相关](#加密货币相关) 39 | - [机器学习/强化学习](#机器学习强化学习) 40 | - [Alpha 集合](#alpha-集合) 41 | - [Alpha](#alpha) 42 | - [套利 (Crypto)](#套利-crypto) 43 | - [基本日常用到的库集合](#基本日常用到的库集合) 44 | - [基础库](#基础库) 45 | - [Computation Graph计算图](#computation-graph计算图) 46 | - [其他可用的库 libraries](#其他可用的库-libraries) 47 | - [Numpy Alternatives](#numpy-alternatives) 48 | - [Pandas Alternatives](#pandas-alternatives) 49 | - [分析工具 Analytic tools](#分析工具-analytic-tools) 50 | - [指标计算 Metrics computation](#指标计算-metrics-computation) 51 | - [指标 Indicators](#指标-indicators) 52 | - [定价 Pricing](#定价-pricing) 53 | - [风险 Risk](#风险-risk) 54 | - [优化 Optimization](#优化-optimization) 55 | - [时间序列分析 TimeSeries Analysis](#时间序列分析-timeseries-analysis) 56 | - [可视化 Visualization](#可视化-visualization) 57 | - [数据库 Databases](#数据库-databases) 58 | - [数据源 Data Source](#数据源-data-source) 59 | - [股票和其他 Stocks and General](#股票和其他-stocks-and-general) 60 | - [Crypto](#crypto) 61 | - [Broker APIs](#broker-apis) 62 | - [资源 Resources](#资源-resources) 63 | - [书籍](#书籍) 64 | - [博客](#博客) 65 | - [教程 Tutorials](#教程-tutorials) 66 | - [专业课程 Courses](#专业课程-courses) 67 | - [相关项目 Relevant Projects](#相关项目-relevant-projects) 68 | - [Buy me a coffee?](#buy-me-a-coffee) 69 | 70 | 71 | ## 回测 + 实时交易 72 | 73 | ### General purpose 74 | 75 | > 事件驱动框架 76 | 77 | Note: 如果标有`Live Trading` 表示具有实时交易功能(至少一个),否则的话,只有回测功能而已。 78 | 79 | - [aat](https://github.com/AsyncAlgoTrading/aat) | `Python`, `C++`, `Live Trading`| - 一个异步的、事件驱动的框架,主要用于编写Python算法交易策略(可以选择C++作为加速)。其具有模块化,可扩展性,支持多种工具和策略的特点,同时支持多个交易所之间进行实时交易。 80 | - [barter-rs](https://gitlab.com/open-source-keir/financial-modelling/trading/barter-rs) | `Rust` | - 开源Rust框架,用于建立事件驱动实时交易&回测系统。Open-source Rust framework for building event-driven live-trading & backtesting systems. Algorithmic trade with the peace of mind that comes from knowing your strategies have been backtested with a near-identical trading Engine. 81 | - [backtesting.py](https://github.com/kernc/backtesting.py) | `Python` | - Backtesting.py 是一个 Python 框架,用于根据历史(过去)数据推断交易策略的可行性。 在 Backtrader 的基础上进行了改进,且与其他的替代方案相比,Backtesting.py 是轻量级的、快速的、用户友好的、直观的、交互式的、智能的,并且有望面向未来。 82 | - [backtrader](https://github.com/mementum/backtrader) | `Python`, `Live Trading` | - 用于交易策略的事件驱动 Python 回测库 83 | - [FlashFunk](https://github.com/HFQR/FlashFunk) | `Rust` | - High Performance Runtime in Rust 84 | - [finmarketpy](https://github.com/cuemacro/finmarketpy) | `Python` | - 用于回测交易策略和分析金融市场的 Python 库(formerly pythalesians) 85 | - [gobacktest](https://github.com/gobacktest/gobacktest) | `Go` | - 基于Go的事件驱动回测框架 86 | - [lumibot](https://github.com/Lumiwealth/lumibot/tree/8da88cadfe9ee35399dd69c94aa5ed3cf995f417) | `Python` | - 一个非常简单但有用的回测和基于样本的实时交易框架(运行起来有点慢......) 87 | - [nautilus_trader](https://github.com/nautechsystems/nautilus_trader) | `Python`, `Cython`, `Rust`, `Live Trading` | - 高性能算法交易平台和事件驱动回测器 88 | - [QuantConnect](https://github.com/QuantConnect/Lean) | `C#`, `.NET`, `Live Trading` | - Lean 算法交易引擎 by QuantConnect (Python, C#) 89 | - [QUANTAXIS](https://github.com/QUANTAXIS/QUANTAXIS) | `Python`, `Rust`, `Live Trading` | - QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权/港股/虚拟货币 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案 90 | - [Rqalpha](https://github.com/ricequant/rqalpha) | `Python` | - 一个可扩展、可替换的 Python 算法回测 && 交易框架,支持多种证券 91 | - [quanttrader](https://github.com/letianzj/quanttrader) | `Python` | - 一个完全的基于python的事件驱动回测和量化交易者的实时交易库。 92 | - [sdoosa-algo-trade-python](https://github.com/sreenivasdoosa/sdoosa-algo-trade-python) | `Python` | - 该项目主要面向有兴趣学习使用 python 解释器编写自己的交易算法的算法交易新手。 93 | - [vnpy](https://github.com/vnpy/vnpy) | `Python`, `Stock`, `Futures`, `Crypto`, `Live Trading` | - 基于Python的开源量化交易系统开发框架,2015年1月正式发布,逐步成长为功能齐全的量化交易平台 94 | - [WonderTrader](https://github.com/wondertrader/wondertrader) | `C++`, `Python` | - WonderTrader——量化研发交易一站式框架 95 | - [zvt](https://github.com/zvtvz/zvt) | `Python`, `Stock`, `Backtest` | - Modular quant framework 96 | - [zipline](https://github.com/quantopian/zipline) | `Python` | - Zipline 是一个 Pythonic 算法交易库,用于回测的事件驱动系统。 97 | 98 | > Vector Based Frameworks 99 | 100 | - [bt](https://github.com/pmorissette/bt) | `Python` | - bt是一个基于Python的灵活回测框架,用于Algo和策略树中。 101 | - [pysystemtrade](https://github.com/robcarver17/pysystemtrade) | `Python`, `Live Trading` | - by Rob Carver这本书的系统交易代码实现 102 | - [vectorbt](https://github.com/polakowo/vectorbt) | `Python`, `numba` | - vectorbt 采用了一种新颖的回测方法:它完全在 pandas 和 NumPy 对象上运行,并由 Numba 加速对大规模的数据进行分析,这使得于几秒钟内测试数千种策略。 103 | 104 | ### 加密货币相关 105 | 106 | - [bTrader](https://github.com/gabriel-milan/btrader) | `Rust` | - Binance三角套利交易机器人 107 | - [crypto-crawler-rs](https://github.com/crypto-crawler/crypto-crawler-rs) | `Rust` | - 从加密货币交易所抓取订单簿和交易消息 108 | - [cryptotrader-core](https://github.com/monomadic/cryptotrader-core) | `Rust` | - 简单易用的Crypto Exchange REST API client(in Rust) 109 | - [openlimits](https://github.com/nash-io/openlimits) | `Rust` | - 一个 Rust 高性能加密货币交易 API,支持多个交易所和语言包装器。 110 | - [Freqtrade](https://github.com/freqtrade/freqtrade) | `Python` | - Freqtrade 是一个用 Python 编写的免费开源加密交易机器人。 它旨在支持所有主要交易所并通过 Telegram 进行控制。 它包含回测、绘图和资金管理工具以及通过机器学习进行的策略优化。 111 | - [Hummingbot](https://github.com/CoinAlpha/hummingbot) | `Python`, `Cython`, `Live Trading` | - A client for crypto market making 112 | - [Jesse](https://github.com/jesse-ai/jesse) | `Python` | - Jesse 是一个先进的加密交易框架,旨在简化交易策略的研究和定义。 113 | - [OctoBot](https://github.com/Drakkar-Software/OctoBot) | `Python`, `Cython`, `Live Trading`| - 具有高级 Web 界面的用于 TA、套利和社交交易的加密货币交易机器人 114 | - [Kelp](https://github.com/stellar/kelp) | `Go`, `Live Trading` | - Kelp 是一个免费的开源交易机器人,适用于 Stellar DEX 和 100 多个中心化交易所 115 | - [exc](https://github.com/Nouzan/exc) | `Rust` | - Exc 是一个加密货币交易所API抽象层实现,旨在让使用者更关注于策略实现。 116 | 117 | ### 机器学习/强化学习 118 | 119 | > ML, RL 120 | 121 | - [FinRL](https://github.com/AI4Finance-Foundation/FinRL) | `Python` | - FinRL 是第一个展示在量化金融中应用深度强化学习的巨大潜力的开源框架。 122 | - [QLib (Microsoft)](https://github.com/microsoft/qlib) | `Python`, `Cython` | - Qlib是一个面向AI的量化投资平台,旨在挖掘潜力,赋能研究,创造AI技术在量化投资中的价值。 使用 Qlib,您可以轻松尝试您的想法以创建更好的量化投资策略。 越来越多的 SOTA Quant 研究作品/论文在 Qlib 中发布。 123 | - [TradingGym](https://github.com/Yvictor/TradingGym) | `Python`, `Live Trading` | - 用于训练强化学习代理或简单规则库算法的交易和回测环境。 124 | - [Stock Trading Bot using Deep Q-Learning](https://github.com/pskrunner14/trading-bot) | `Python` | - 使用Deep Q Learning的股票交易机器人 125 | 126 | ## Alpha 集合 127 | 128 | ### Alpha 129 | 130 | - [analyzingalpha](https://github.com/leosmigel/analyzingalpha) 131 | - [ThetaGang](https://github.com/brndnmtthws/thetagang) - ThetaGang is an IBKR bot for collecting money 132 | - https://www.reddit.com/r/options/comments/a36k4j/the_wheel_aka_triple_income_strategy_explained/ 133 | 134 | ### 套利 (Crypto) 135 | 136 | > 注意:这些项目很旧,没有维护。 我把它们放在这里只是为了展示一些加密套利的逻辑。 137 | 138 | - [Blackbird](https://github.com/butor/blackbird) | `C++` | - 黑鸟比特币套利:多头/空头市场中性策略 139 | - [bitcoin-arbitrage](https://github.com/maxme/bitcoin-arbitrage) | `Python` | - 比特币套利 - 机会监控器 140 | - [R2 Bitcoin Arbitrager](https://github.com/bitrinjani/r2) | `TypeScript` | - R2 Bitcoin Arbitrager 是一个由 Node.js + TypeScript 提供支持的自动套利交易系统。 141 | 142 | ## 基本日常用到的库集合 143 | 144 | ### 基础库 145 | 146 | - [Cvxpy](https://github.com/cvxpy/cvxpy) | `Python`, `C++` | - 用于凸优化问题的 Python 嵌入式建模语言. 147 | - [Numpy](https://github.com/numpy/numpy) | `Python`, `C` | - 使用 Python 进行科学计算的基础库 148 | - [Scipy](https://github.com/scipy/scipy) | `Python`, `C` | - 科学计算的基础算法(Python) 149 | - [Pandas](https://github.com/pandas-dev/pandas) | `Python`, `Cython` | - 灵活而强大的 Python 数据分析/操作库,提供类似于 R 的数据结构、框架对象、统计函数等 150 | - [Sikit-learn](https://github.com/scikit-learn/scikit-learn) | `Python`, `Cython` | - Machine learning in Python 151 | - [Keras](https://github.com/keras-team/keras) | `Python` | - 最友好的强化学习(in Python) 152 | - [TensorFlow](https://github.com/tensorflow/tensorflow) | `Python`, `C++` | - 更底层的深度学习框架 153 | - [Pytorch](https://github.com/pytorch/pytorch) | `Python` | - 具有强大 GPU 加速功能的 Python 张量和动态神经网络 154 | - [PyMC](https://github.com/pymc-devs/pymc) | `Python` | - Python 中的概率编程:使用 Aesara 进行贝叶斯建模和概率机器学习 155 | 156 | ### Computation Graph计算图 157 | 158 | - [Dask](https://github.com/dask/dask) | `Python` | - 在 Python 中使用 Pandas 之类 API 进行任务调度的并行计算 159 | - [Ray](https://github.com/ray-project/ray) | `Python`, `C++` | - An open source framework that provides a simple, universal API for building distributed applications. 160 | - [Incremental (JaneStreet)](https://github.com/janestreet/incremental) | `Ocaml` | - Incremental 是一个库,它为您提供了一种构建复杂计算的方法,该计算可以有效地更新以响应输入的变化,灵感来自 Umut Acar et. al。关于自调整计算。 incremental在许多应用程序中都很有用 161 | - [GraphKit](https://github.com/yahoo/graphkit) | `Python` | - 用于创建和运行有序计算图的轻量级 Python 模块。 162 | - [Man MDF](https://github.com/man-group/mdf) | `Python` | - Python数据流编程工具包 163 | - [Tributary](https://github.com/timkpaine/tributary) | `Python` | - Python 流式处理反应式和数据流图 164 | 165 | ### 其他可用的库 libraries 166 | 167 | #### Numpy Alternatives 168 | 169 | - [ndarray](https://github.com/rust-ndarray/ndarray) | `Rust` | - ndarray: 具有数组视图、多维切片和高效操作的 N 维数组 170 | 171 | #### Pandas Alternatives 172 | 173 | - [Polars](https://github.com/pola-rs/polars) | `Rust`, `Python` | - Polars 是使用 Apache Arrow Columnar Format 作为内存模型在 Rust 中实现的速度极快的 DataFrames 库。 174 | - [Vaex](https://github.com/vaexio/vaex) | `Python`, `C++` | - Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 175 | - [Modin](https://github.com/modin-project/modin) | `Python` | - Modin:通过更改一行代码来加快 Pandas 工作流程 176 | - [Koalas](https://github.com/databricks/koalas) | `Python` | - Koalas: pandas API on Apache Spark 177 | 178 | ## 分析工具 Analytic tools 179 | 180 | ### 指标计算 Metrics computation 181 | 182 | - [ffn](https://github.com/pmorissette/ffn) | `Python` | - Python的金融函数库 183 | - [quantstats](https://github.com/ranaroussi/quantstats) | `Python` | - 用 Python 编写的量化投资组合分析 184 | 185 | ### 指标 Indicators 186 | 187 | - [TA-Lib](https://ta-lib.org) | `C` | - 对金融市场数据进行技术分析 188 | - [Python Wrapper](https://github.com/mrjbq7/ta-lib) | `Python` | 189 | - [Go Port](https://github.com/markcheno/go-talib) | `Go` | 190 | - [Rust Wrapper](https://github.com/CLevasseur/ta-lib-rust) | `Rust` | 191 | - [ta-rust](https://github.com/greyblake/ta-rs) | `Rust` | - Rust金融分析库 192 | - [finta](https://github.com/peerchemist/finta) | `Python` | - Pandas常用金融技术指标 193 | - [pandas-ta](https://github.com/twopirllc/pandas-ta) | `Python` | - Pandas TA is an easy to use library that leverages the Pandas package with more than 130 Indicators and Utility functions and more than 60 TA Lib Candlestick Patterns. 194 | 195 | ### 定价 Pricing 196 | 197 | - [Quantlib](https://www.quantlib.org) 198 | - [PyQL](https://github.com/enthought/pyql) | `Python`, `Cython` | - Python wrapper of the famous pricing library QuantLib 199 | - [QuantLib.jl](https://github.com/pazzo83/QuantLib.jl) | `Julia` | - Quantlib implementation in pure Julia. 200 | - [FinancePy](https://github.com/domokane/FinancePy) | `Python` | - Python 金融库,专注于金融衍生品的定价和风险管理,包括固定收益、股票、外汇和信用衍生品。 201 | - [tf-quant-finance](https://github.com/google/tf-quant-finance) - 量化金融的高性能 TensorFlow 库。 202 | 203 | ### 风险 Risk 204 | 205 | - [pyfolio](https://github.com/quantopian/pyfolio) | `Python` | - Python 投资组合和风险分析 206 | 207 | ### 优化 Optimization 208 | 209 | - [Deepdow](https://github.com/jankrepl/deepdow) | `Python` | - Python package connecting portfolio optimization and deep learning. Its goal is to facilitate research of networks that perform weight allocation in one forward pass. 210 | - [PyPortfolioOpt](https://github.com/robertmartin8/PyPortfolioOpt) | `Python` | - python 中的金融投资组合优化,包括经典有效前缘、Black-Litterman、分层风险平价策略 211 | - [Riskfolio-Lib](https://github.com/dcajasn/Riskfolio-Lib) | `Python` | - Python 投资组合优化和量化战略资产配置 212 | - [empyrial](https://github.com/ssantoshp/Empyrial) | `Python` | - Empyrial 是一个基于 Python 的开源量化投资库,致力于金融机构和散户投资者,于 2021 年 3 月正式发布。 213 | - [spectre](https://github.com/Heerozh/spectre) | `Python` | - Spectre 是一个 GPU 加速的并行量化交易库,专注于性能。 214 | 215 | ### 时间序列分析 TimeSeries Analysis 216 | 217 | - [statsmodels](http://statsmodels.sourceforge.net) - 允许用户探索数据、估计统计模型和执行统计测试的 Python 模块。 218 | - [tsfresh](https://github.com/blue-yonder/tsfresh) - 从时间序列中自动提取相关特征。 219 | - [Facebook Prophet](https://github.com/facebook/prophet) - 用于为具有线性或非线性增长的多个季节性的时间序列数据生成高质量预测的工具。 220 | - [pmdarima](https://github.com/alkaline-ml/pmdarima) - 一个统计库,旨在填补 Python 时间序列分析功能的空白,包括与 R 的 auto.arima 函数等效的功能。 221 | 222 | ## 可视化 Visualization 223 | 224 | - [D-Tale (Man Group)](https://github.com/man-group/dtale) | `JavaScript`, `Python` | - D-Tale 是 Flask 后端和 React 前端的组合,提供查看和分析 Pandas 数据结构功能。 225 | - [mplfinance](https://github.com/matplotlib/mplfinance) | `Python` | - 使用 Matplotlib 进行金融市场数据可视化 226 | - [btplotting](https://github.com/happydasch/btplotting) | `Python`, `bokeh` | - btplotting 提供回测、优化结果和来自 backtrader 的实时数据的绘图。 227 | 228 | ## 数据库 Databases 229 | 230 | - [Arctic (Man Group)](https://github.com/man-group/arctic) | `Python` | - 时间序列和tick data的高性能数据存储 231 | - [Marketstore](https://github.com/alpacahq/marketstore) | `Go` | - 金融时间序列数据的 DataFrame 服务器 232 | - [Tectonicdb](https://github.com/0b01/tectonicdb) | `Rust` | - Tectonicdb 是一个快速、高度压缩的独立数据库和order book tick串流协议。 233 | 234 | ## 数据源 Data Source 235 | 236 | ### 股票和其他 Stocks and General 237 | 238 | - [findatapy](https://github.com/cuemacro/findatapy) |`Python`| - findatapy 创建了一个易于使用的 Python API,使用统一的高级接口从 Quandl、Bloomberg、Yahoo、Google 等多个来源下载市场数据。 239 | - [yfinance](https://github.com/ranaroussi/yfinance) |`Python`| - yfinance 提供了从 Yahoo!Ⓡ Finance 下载市场数据。 240 | - [pandas-datareader](https://github.com/pydata/pandas-datareader) |`Python`| - 最新远程数据访问,适用于多个版本的 pandas。 241 | - [Wallstreet](https://github.com/mcdallas/wallstreet) |`Python`| - Wallstreet: 实时股票和期权工具 242 | - [TuShare](https://github.com/waditu/tushare) |`Python`| - TuShare是一个用于抓取中国股票历史数据的实用程序 243 | - [Investpy](https://github.com/alvarobartt/investpy) - 使用 Python 从 Investing.com 提取财务数据 244 | - [AkShare](https://github.com/akfamily/akshare) |`Python`| - AKShare 是一个优雅简洁的 Python 金融数据接口库,专为人类打造! 开源财经数据接口库 245 | - [Fundamental Analysis Data](https://github.com/JerBouma/FundamentalAnalysis) | `Python` | - 是一个成熟的基本面分析库,能够收集 20.000 多家公司的 20 年公司简介、财务报表、比率和股票数据。 246 | 247 | ### Crypto 248 | 249 | - [Cryptofeed](https://github.com/bmoscon/cryptofeed) |`Python`| - Cryptocurrency Exchange Websocket Data Feed Handler with Asyncio 250 | 251 | ## Broker APIs 252 | 253 | - [Ib_insync](https://github.com/erdewit/ib_insync) | `Python` | - P盈透证券API的同步/异步python框架 254 | - [ccxt](https://github.com/ccxt/ccxt) | `Python`, `JavaScript` | - 一个 JavaScript / Python / PHP 加密货币交易 API,支持 100 多个比特币/山寨币交易所 255 | - [Coinnect](https://github.com/hugues31/coinnect) | `Rust` | - Coinnect 是一个 Rust 库,旨在通过 REST API 提供对主要加密货币交易所的完整访问。 256 | - More is coming... (欢迎PR) 257 | 258 | ## 资源 Resources 259 | 260 | ### 书籍 261 | 262 | - [Quantitative Portfolio Management: The Art and Science of Statistical Arbitrage (2021)](https://www.amazon.co.uk/Quantitative-Portfolio-Management-Statistical-Arbitrage/dp/1119821320/ref=asc_df_1119821320/?tag=googshopuk-21&linkCode=df0&hvadid=534858257189&hvpos=&hvnetw=g&hvrand=3040398248892159445&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9044954&hvtargid=pla-919734400242&psc=1&th=1&psc=1) 263 | - [Algorithmic Trading with Python (2020) by Chris Conlan](https://github.com/chrisconlan/algorithmic-trading-with-python) 264 | - [Python for Algorithmic Trading (2020) by Dr. Yves J. Hilpisch](https://github.com/yhilpisch/py4at) 265 | - [Systematic Trading: A unique new method for designing trading and investing systems by Robert Carver](https://github.com/robcarver17/pysystemtrade) 266 | - [Machine Learning for Algorithmic Trading: Predictive models to extract signals from market and alternative data for systematic trading strategies with Python](https://github.com/stefan-jansen/machine-learning-for-trading) 267 | - [Advances in Financial Machine Learning](https://github.com/BlackArbsCEO/Adv_Fin_ML_Exercises) 268 | - [Machine Learning for Asset Managers](https://github.com/emoen/Machine-Learning-for-Asset-Managers) 269 | - More is coming... (PR welcome) 270 | 271 | ### 博客 272 | 273 | - [Proof Engineering: The Algorithmic Trading Platform](https://medium.com/prooftrading/proof-engineering-the-algorithmic-trading-platform-b9c2f195433d) 证明工程:算法交易平台 274 | 275 | ### 教程 Tutorials 276 | 277 | - [Algorithmic Trading for Cryptocurrencies in Python](https://github.com/tudorelu/tudorials/tree/master/trading) - 一个简单而实用的加密交易教程。 278 | 279 | ### 专业课程 Courses 280 | 281 | - [Hudson and Thames Quantitative Research](https://github.com/hudson-and-thames) - 目标是提倡使用编纂框架、算法和最佳实践等方式促进投资管理中的科学方法。 282 | - More is coming... (PR welcome) 283 | 284 | ## 相关项目 Relevant Projects 285 | 286 | - [量化交易知识集 @ 泛程序员](https://github.com/wangzhe3224/systematic-trading-knowledge-collection) - 收集有关系统交易的知识,包括软件设计、交易策略、统计技能. 量化交易/系统化交易知识集 287 | - [Awesome Quant 中文](https://github.com/thuquant/awesome-quant) - 中国的Quant相关资源索引 288 | - [awesome-deep-trading](https://github.com/cbailes/awesome-deep-trading) - 机器学习的算法交易的资源列表 289 | - [Awesome Crypto Trading Bots](https://github.com/botcrypto-io/awesome-crypto-trading-bots) 290 | 291 | ## Buy me a coffee? 292 | 293 | 作者收集资料和维护项目等花费了不少心思和时间,如果你想支持一下的话,可以送我一杯咖啡呀!:) 294 | 295 | - [Patreon](https://www.patreon.com/funcoder777) 296 | - BTC: bc1qrjrffv7aaf5f4f6dydkt4yaukt4297vedd6w6p 297 | - 支付宝 298 | 299 | 300 | -------------------------------------------------------------------------------- /assets/IMG_0825.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangzhe3224/awesome-systematic-trading/29b3aafe25e58ae5f6f9196588ee09e0e325ff21/assets/IMG_0825.jpg -------------------------------------------------------------------------------- /crypto_focus.md: -------------------------------------------------------------------------------- 1 | # Awesome Systematic Trading for Crypto + DeFi 2 | 3 | - [perp-arbitrageur](https://github.com/perpetual-protocol/perp-arbitrageur) | `Python` | - An arbitrage bot that executes automated trading strategies between Perpetual Protocol and FTX 4 | - [FTX_and_four_other_exchange_futures_and_funding_arbitrage_scanner](https://github.com/staccDOTsol/FTX_and_four_other_exchange_futures_and_funding_arbitrage_scanner) | `Python` | - ? 5 | - [Liquidation Bot](https://github.com/HydroProtocol/liquidation_bot) | `Go` | - DDEX Liquidation Bot 6 | - [T-1000 Advanced Prototype](https://github.com/Draichi/T-1000) | `Python` | - Bot using deep learning with Ray API 7 | - [Tai - Orchestrate Your Trading](https://github.com/fremantle-industries/tai) | `Elixir` | - A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine 8 | - [bTrader](https://github.com/gabriel-milan/btrader) | `Rust` | - Triangle arbitrage trading bot for Binance 9 | - [crypto-crawler-rs](https://github.com/crypto-crawler/crypto-crawler-rs) | `Rust` | - Crawl orderbook and trade messages from crypto exchanges 10 | - [cryptotrader-core](https://github.com/monomadic/cryptotrader-core) | `Rust` | - Simple to use Crypto Exchange REST API client in rust. 11 | - [openlimits](https://github.com/nash-io/openlimits) | `Rust` | - A Rust high performance cryptocurrency trading API with support for multiple exchanges and language wrappers. 12 | - [Freqtrade](https://github.com/freqtrade/freqtrade) | `Python` | - Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning. 13 | - [Hummingbot](https://github.com/CoinAlpha/hummingbot) | `Python`, `Cython`, `Live Trading` | - A client for crypto market making 14 | - [Jesse](https://github.com/jesse-ai/jesse) | `Python` | - Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. 15 | - [OctoBot](https://github.com/Drakkar-Software/OctoBot) | `Python`, `Cython`, `Live Trading`| - Cryptocurrency trading bot for TA, arbitrage and social trading with an advanced web interface 16 | - [Kelp](https://github.com/stellar/kelp) | `Go`, `Live Trading` | - Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges 17 | - [Golang Crypto Trading Bot](https://github.com/saniales/golang-crypto-trading-bot/tree/develop) | `Go` | - A golang implementation of a console-based trading bot for cryptocurrency exchanges 18 | - [BBGO](https://github.com/c9s/bbgo) | `Go` | - The modern cryptocurrency trading bot written in Go. 19 | - [Blankly](https://github.com/blankly-finance/blankly) | `Python` | - 🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package. 20 | - [Peregrine](https://github.com/wardbradt/peregrine) | `Python` | - Detects arbitrage opportunities across 131 cryptocurrency exchanges in 50 countries 21 | - [K](https://github.com/ctubio/Krypto-trading-bot) | `C++` | - Self-hosted crypto trading bot (automated high frequency market making) written in C++ 22 | - [gocryptotrader](https://github.com/thrasher-corp/gocryptotrader) | `Go` | - A cryptocurrency trading bot supporting multiple exchanges written in Golang. -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | ../Readme.md -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Systematic Trading 2 | site_author: FunCoder 3 | site_description: >- 4 | Awesome Systematic Trading 5 | repo_name: awesome-systematic-trading 6 | repo_url: https://github.com/wangzhe3224/awesome-systematic-trading 7 | 8 | copyright: Copyright © 2022-present FunCoder 9 | 10 | theme: 11 | name: material 12 | # favicon: assets/bitcoin.png 13 | # logo: assets/bitcoin.png 14 | language: zh 15 | include_search_page: false 16 | search_index_only: true 17 | plugins: 18 | - meta 19 | features: 20 | # - navigation.instant 21 | # - navigation.expand 22 | # - navigation.sections 23 | # - navigation.tabs 24 | # - navigation.tabs.sticky 25 | # - navigation.indexes 26 | # - toc.integrate 27 | - header.autohide 28 | - navigation.tracking 29 | - navigation.top 30 | - search.highlight 31 | - search.share 32 | - search.suggest 33 | - content.code.annotate 34 | palette: 35 | - media: "(prefers-color-scheme: light)" 36 | scheme: default 37 | primary: light blue 38 | accent: deep purple 39 | toggle: 40 | icon: material/weather-sunny 41 | name: Switch to dark mode 42 | - media: "(prefers-color-scheme: dark)" 43 | scheme: slate 44 | primary: cyan 45 | accent: deep purple 46 | toggle: 47 | icon: material/weather-night 48 | name: Switch to light mode 49 | icon: 50 | repo: fontawesome/brands/github 51 | admonition: 52 | note: octicons/tag-16 53 | abstract: octicons/checklist-16 54 | info: octicons/info-16 55 | tip: octicons/squirrel-16 56 | success: octicons/check-16 57 | question: octicons/question-16 58 | warning: octicons/alert-16 59 | failure: octicons/x-circle-16 60 | danger: octicons/zap-16 61 | bug: octicons/bug-16 62 | example: octicons/beaker-16 63 | quote: octicons/quote-16 64 | custom_dir: overrides 65 | markdown_extensions: 66 | - attr_list 67 | - md_in_html 68 | - admonition 69 | - pymdownx.details 70 | - pymdownx.inlinehilite 71 | - pymdownx.snippets 72 | - pymdownx.superfences 73 | - pymdownx.tabbed: 74 | alternate_style: true 75 | - pymdownx.emoji: 76 | emoji_index: !!python/name:materialx.emoji.twemoji 77 | emoji_generator: !!python/name:materialx.emoji.to_svg 78 | 79 | extra_javascript: 80 | - https://polyfill.io/v3/polyfill.min.js?features=es6 81 | - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js 82 | 83 | extra: 84 | analytics: 85 | provider: google 86 | property: G-KJC6F9YNGT 87 | social: 88 | - icon: fontawesome/brands/github 89 | link: https://github.com/wangzhe3224 90 | generator: false 91 | -------------------------------------------------------------------------------- /overrides/main.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block ads %} 3 | 5 | {% endblock %} -------------------------------------------------------------------------------- /overrides/partials/comments.html: -------------------------------------------------------------------------------- 1 | {% if page.meta.comments %} 2 | 4 | {% endif %} -------------------------------------------------------------------------------- /src/go/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | func main() { 4 | println("Go related") 5 | println(":)") 6 | } 7 | -------------------------------------------------------------------------------- /src/python/main.py: -------------------------------------------------------------------------------- 1 | print("Python related.") -------------------------------------------------------------------------------- /src/rust/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "ahash" 7 | version = "0.7.6" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" 10 | dependencies = [ 11 | "getrandom", 12 | "once_cell", 13 | "version_check", 14 | ] 15 | 16 | [[package]] 17 | name = "aho-corasick" 18 | version = "0.7.18" 19 | source = "registry+https://github.com/rust-lang/crates.io-index" 20 | checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" 21 | dependencies = [ 22 | "memchr", 23 | ] 24 | 25 | [[package]] 26 | name = "anyhow" 27 | version = "1.0.56" 28 | source = "registry+https://github.com/rust-lang/crates.io-index" 29 | checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" 30 | 31 | [[package]] 32 | name = "arrow2" 33 | version = "0.10.1" 34 | source = "registry+https://github.com/rust-lang/crates.io-index" 35 | checksum = "2e387b20dd573a96f36b173d9027483898f944d696521afd74e2caa3c813d86e" 36 | dependencies = [ 37 | "bytemuck", 38 | "chrono", 39 | "csv-core", 40 | "either", 41 | "hash_hasher", 42 | "lexical-core", 43 | "multiversion", 44 | "num-traits", 45 | "simdutf8", 46 | "streaming-iterator", 47 | "strength_reduce", 48 | ] 49 | 50 | [[package]] 51 | name = "autocfg" 52 | version = "1.1.0" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 55 | 56 | [[package]] 57 | name = "bitflags" 58 | version = "1.3.2" 59 | source = "registry+https://github.com/rust-lang/crates.io-index" 60 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 61 | 62 | [[package]] 63 | name = "bytemuck" 64 | version = "1.8.0" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | checksum = "0e851ca7c24871e7336801608a4797d7376545b6928a10d32d75685687141ead" 67 | dependencies = [ 68 | "bytemuck_derive", 69 | ] 70 | 71 | [[package]] 72 | name = "bytemuck_derive" 73 | version = "1.0.1" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | checksum = "8e215f8c2f9f79cb53c8335e687ffd07d5bfcb6fe5fc80723762d0be46e7cc54" 76 | dependencies = [ 77 | "proc-macro2", 78 | "quote", 79 | "syn", 80 | ] 81 | 82 | [[package]] 83 | name = "cfg-if" 84 | version = "1.0.0" 85 | source = "registry+https://github.com/rust-lang/crates.io-index" 86 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 87 | 88 | [[package]] 89 | name = "chrono" 90 | version = "0.4.19" 91 | source = "registry+https://github.com/rust-lang/crates.io-index" 92 | checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" 93 | dependencies = [ 94 | "libc", 95 | "num-integer", 96 | "num-traits", 97 | "time", 98 | "winapi", 99 | ] 100 | 101 | [[package]] 102 | name = "comfy-table" 103 | version = "5.0.1" 104 | source = "registry+https://github.com/rust-lang/crates.io-index" 105 | checksum = "b103d85ca6e209388771bfb7aa6b68a7aeec4afbf6f0a0264bfbf50360e5212e" 106 | dependencies = [ 107 | "crossterm", 108 | "strum", 109 | "strum_macros", 110 | "unicode-width", 111 | ] 112 | 113 | [[package]] 114 | name = "crossbeam-channel" 115 | version = "0.5.3" 116 | source = "registry+https://github.com/rust-lang/crates.io-index" 117 | checksum = "fdbfe11fe19ff083c48923cf179540e8cd0535903dc35e178a1fdeeb59aef51f" 118 | dependencies = [ 119 | "cfg-if", 120 | "crossbeam-utils", 121 | ] 122 | 123 | [[package]] 124 | name = "crossbeam-deque" 125 | version = "0.8.1" 126 | source = "registry+https://github.com/rust-lang/crates.io-index" 127 | checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" 128 | dependencies = [ 129 | "cfg-if", 130 | "crossbeam-epoch", 131 | "crossbeam-utils", 132 | ] 133 | 134 | [[package]] 135 | name = "crossbeam-epoch" 136 | version = "0.9.8" 137 | source = "registry+https://github.com/rust-lang/crates.io-index" 138 | checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c" 139 | dependencies = [ 140 | "autocfg", 141 | "cfg-if", 142 | "crossbeam-utils", 143 | "lazy_static", 144 | "memoffset", 145 | "scopeguard", 146 | ] 147 | 148 | [[package]] 149 | name = "crossbeam-utils" 150 | version = "0.8.8" 151 | source = "registry+https://github.com/rust-lang/crates.io-index" 152 | checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" 153 | dependencies = [ 154 | "cfg-if", 155 | "lazy_static", 156 | ] 157 | 158 | [[package]] 159 | name = "crossterm" 160 | version = "0.23.1" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | checksum = "f1fd7173631a4e9e2ca8b32ae2fad58aab9843ea5aaf56642661937d87e28a3e" 163 | dependencies = [ 164 | "bitflags", 165 | "crossterm_winapi", 166 | "libc", 167 | "mio", 168 | "parking_lot", 169 | "signal-hook", 170 | "signal-hook-mio", 171 | "winapi", 172 | ] 173 | 174 | [[package]] 175 | name = "crossterm_winapi" 176 | version = "0.9.0" 177 | source = "registry+https://github.com/rust-lang/crates.io-index" 178 | checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c" 179 | dependencies = [ 180 | "winapi", 181 | ] 182 | 183 | [[package]] 184 | name = "csv-core" 185 | version = "0.1.10" 186 | source = "registry+https://github.com/rust-lang/crates.io-index" 187 | checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" 188 | dependencies = [ 189 | "memchr", 190 | ] 191 | 192 | [[package]] 193 | name = "dirs" 194 | version = "4.0.0" 195 | source = "registry+https://github.com/rust-lang/crates.io-index" 196 | checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" 197 | dependencies = [ 198 | "dirs-sys", 199 | ] 200 | 201 | [[package]] 202 | name = "dirs-sys" 203 | version = "0.3.6" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" 206 | dependencies = [ 207 | "libc", 208 | "redox_users", 209 | "winapi", 210 | ] 211 | 212 | [[package]] 213 | name = "either" 214 | version = "1.6.1" 215 | source = "registry+https://github.com/rust-lang/crates.io-index" 216 | checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" 217 | 218 | [[package]] 219 | name = "getrandom" 220 | version = "0.2.5" 221 | source = "registry+https://github.com/rust-lang/crates.io-index" 222 | checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" 223 | dependencies = [ 224 | "cfg-if", 225 | "libc", 226 | "wasi", 227 | ] 228 | 229 | [[package]] 230 | name = "glob" 231 | version = "0.3.0" 232 | source = "registry+https://github.com/rust-lang/crates.io-index" 233 | checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" 234 | 235 | [[package]] 236 | name = "hash_hasher" 237 | version = "2.0.3" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" 240 | 241 | [[package]] 242 | name = "hashbrown" 243 | version = "0.11.2" 244 | source = "registry+https://github.com/rust-lang/crates.io-index" 245 | checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" 246 | 247 | [[package]] 248 | name = "hashbrown" 249 | version = "0.12.0" 250 | source = "registry+https://github.com/rust-lang/crates.io-index" 251 | checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758" 252 | dependencies = [ 253 | "ahash", 254 | "rayon", 255 | ] 256 | 257 | [[package]] 258 | name = "heck" 259 | version = "0.3.3" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 262 | dependencies = [ 263 | "unicode-segmentation", 264 | ] 265 | 266 | [[package]] 267 | name = "hermit-abi" 268 | version = "0.1.19" 269 | source = "registry+https://github.com/rust-lang/crates.io-index" 270 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 271 | dependencies = [ 272 | "libc", 273 | ] 274 | 275 | [[package]] 276 | name = "indexmap" 277 | version = "1.8.0" 278 | source = "registry+https://github.com/rust-lang/crates.io-index" 279 | checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" 280 | dependencies = [ 281 | "autocfg", 282 | "hashbrown 0.11.2", 283 | ] 284 | 285 | [[package]] 286 | name = "lazy_static" 287 | version = "1.4.0" 288 | source = "registry+https://github.com/rust-lang/crates.io-index" 289 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 290 | 291 | [[package]] 292 | name = "lexical" 293 | version = "6.1.0" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | checksum = "ccd3e434c16f0164124ade12dcdee324fcc3dafb1cad0c7f1d8c2451a1aa6886" 296 | dependencies = [ 297 | "lexical-core", 298 | ] 299 | 300 | [[package]] 301 | name = "lexical-core" 302 | version = "0.8.3" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | checksum = "92912c4af2e7d9075be3e5e3122c4d7263855fa6cce34fbece4dd08e5884624d" 305 | dependencies = [ 306 | "lexical-parse-float", 307 | "lexical-parse-integer", 308 | "lexical-util", 309 | "lexical-write-float", 310 | "lexical-write-integer", 311 | ] 312 | 313 | [[package]] 314 | name = "lexical-parse-float" 315 | version = "0.8.3" 316 | source = "registry+https://github.com/rust-lang/crates.io-index" 317 | checksum = "f518eed87c3be6debe6d26b855c97358d8a11bf05acec137e5f53080f5ad2dd8" 318 | dependencies = [ 319 | "lexical-parse-integer", 320 | "lexical-util", 321 | "static_assertions", 322 | ] 323 | 324 | [[package]] 325 | name = "lexical-parse-integer" 326 | version = "0.8.3" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "afc852ec67c6538bbb2b9911116a385b24510e879a69ab516e6a151b15a79168" 329 | dependencies = [ 330 | "lexical-util", 331 | "static_assertions", 332 | ] 333 | 334 | [[package]] 335 | name = "lexical-util" 336 | version = "0.8.3" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "c72a9d52c5c4e62fa2cdc2cb6c694a39ae1382d9c2a17a466f18e272a0930eb1" 339 | dependencies = [ 340 | "static_assertions", 341 | ] 342 | 343 | [[package]] 344 | name = "lexical-write-float" 345 | version = "0.8.4" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "8a89ec1d062e481210c309b672f73a0567b7855f21e7d2fae636df44d12e97f9" 348 | dependencies = [ 349 | "lexical-util", 350 | "lexical-write-integer", 351 | "static_assertions", 352 | ] 353 | 354 | [[package]] 355 | name = "lexical-write-integer" 356 | version = "0.8.3" 357 | source = "registry+https://github.com/rust-lang/crates.io-index" 358 | checksum = "094060bd2a7c2ff3a16d5304a6ae82727cb3cc9d1c70f813cc73f744c319337e" 359 | dependencies = [ 360 | "lexical-util", 361 | "static_assertions", 362 | ] 363 | 364 | [[package]] 365 | name = "libc" 366 | version = "0.2.120" 367 | source = "registry+https://github.com/rust-lang/crates.io-index" 368 | checksum = "ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09" 369 | 370 | [[package]] 371 | name = "lock_api" 372 | version = "0.4.6" 373 | source = "registry+https://github.com/rust-lang/crates.io-index" 374 | checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" 375 | dependencies = [ 376 | "scopeguard", 377 | ] 378 | 379 | [[package]] 380 | name = "log" 381 | version = "0.4.14" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" 384 | dependencies = [ 385 | "cfg-if", 386 | ] 387 | 388 | [[package]] 389 | name = "memchr" 390 | version = "2.4.1" 391 | source = "registry+https://github.com/rust-lang/crates.io-index" 392 | checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" 393 | 394 | [[package]] 395 | name = "memmap2" 396 | version = "0.5.3" 397 | source = "registry+https://github.com/rust-lang/crates.io-index" 398 | checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f" 399 | dependencies = [ 400 | "libc", 401 | ] 402 | 403 | [[package]] 404 | name = "memoffset" 405 | version = "0.6.5" 406 | source = "registry+https://github.com/rust-lang/crates.io-index" 407 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 408 | dependencies = [ 409 | "autocfg", 410 | ] 411 | 412 | [[package]] 413 | name = "mio" 414 | version = "0.7.14" 415 | source = "registry+https://github.com/rust-lang/crates.io-index" 416 | checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" 417 | dependencies = [ 418 | "libc", 419 | "log", 420 | "miow", 421 | "ntapi", 422 | "winapi", 423 | ] 424 | 425 | [[package]] 426 | name = "miow" 427 | version = "0.3.7" 428 | source = "registry+https://github.com/rust-lang/crates.io-index" 429 | checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" 430 | dependencies = [ 431 | "winapi", 432 | ] 433 | 434 | [[package]] 435 | name = "multiversion" 436 | version = "0.6.1" 437 | source = "registry+https://github.com/rust-lang/crates.io-index" 438 | checksum = "025c962a3dd3cc5e0e520aa9c612201d127dcdf28616974961a649dca64f5373" 439 | dependencies = [ 440 | "multiversion-macros", 441 | ] 442 | 443 | [[package]] 444 | name = "multiversion-macros" 445 | version = "0.6.1" 446 | source = "registry+https://github.com/rust-lang/crates.io-index" 447 | checksum = "a8a3e2bde382ebf960c1f3e79689fa5941625fe9bf694a1cb64af3e85faff3af" 448 | dependencies = [ 449 | "proc-macro2", 450 | "quote", 451 | "syn", 452 | ] 453 | 454 | [[package]] 455 | name = "ntapi" 456 | version = "0.3.7" 457 | source = "registry+https://github.com/rust-lang/crates.io-index" 458 | checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" 459 | dependencies = [ 460 | "winapi", 461 | ] 462 | 463 | [[package]] 464 | name = "num" 465 | version = "0.4.0" 466 | source = "registry+https://github.com/rust-lang/crates.io-index" 467 | checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" 468 | dependencies = [ 469 | "num-bigint", 470 | "num-complex", 471 | "num-integer", 472 | "num-iter", 473 | "num-rational", 474 | "num-traits", 475 | ] 476 | 477 | [[package]] 478 | name = "num-bigint" 479 | version = "0.4.3" 480 | source = "registry+https://github.com/rust-lang/crates.io-index" 481 | checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" 482 | dependencies = [ 483 | "autocfg", 484 | "num-integer", 485 | "num-traits", 486 | ] 487 | 488 | [[package]] 489 | name = "num-complex" 490 | version = "0.4.0" 491 | source = "registry+https://github.com/rust-lang/crates.io-index" 492 | checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" 493 | dependencies = [ 494 | "num-traits", 495 | ] 496 | 497 | [[package]] 498 | name = "num-integer" 499 | version = "0.1.44" 500 | source = "registry+https://github.com/rust-lang/crates.io-index" 501 | checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" 502 | dependencies = [ 503 | "autocfg", 504 | "num-traits", 505 | ] 506 | 507 | [[package]] 508 | name = "num-iter" 509 | version = "0.1.42" 510 | source = "registry+https://github.com/rust-lang/crates.io-index" 511 | checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" 512 | dependencies = [ 513 | "autocfg", 514 | "num-integer", 515 | "num-traits", 516 | ] 517 | 518 | [[package]] 519 | name = "num-rational" 520 | version = "0.4.0" 521 | source = "registry+https://github.com/rust-lang/crates.io-index" 522 | checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" 523 | dependencies = [ 524 | "autocfg", 525 | "num-bigint", 526 | "num-integer", 527 | "num-traits", 528 | ] 529 | 530 | [[package]] 531 | name = "num-traits" 532 | version = "0.2.14" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" 535 | dependencies = [ 536 | "autocfg", 537 | ] 538 | 539 | [[package]] 540 | name = "num_cpus" 541 | version = "1.13.1" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" 544 | dependencies = [ 545 | "hermit-abi", 546 | "libc", 547 | ] 548 | 549 | [[package]] 550 | name = "once_cell" 551 | version = "1.10.0" 552 | source = "registry+https://github.com/rust-lang/crates.io-index" 553 | checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" 554 | 555 | [[package]] 556 | name = "parking_lot" 557 | version = "0.12.0" 558 | source = "registry+https://github.com/rust-lang/crates.io-index" 559 | checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" 560 | dependencies = [ 561 | "lock_api", 562 | "parking_lot_core", 563 | ] 564 | 565 | [[package]] 566 | name = "parking_lot_core" 567 | version = "0.9.1" 568 | source = "registry+https://github.com/rust-lang/crates.io-index" 569 | checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" 570 | dependencies = [ 571 | "cfg-if", 572 | "libc", 573 | "redox_syscall", 574 | "smallvec", 575 | "windows-sys", 576 | ] 577 | 578 | [[package]] 579 | name = "polars" 580 | version = "0.20.0" 581 | source = "registry+https://github.com/rust-lang/crates.io-index" 582 | checksum = "656db3b86c338a8a717476eb29436a380ebdf74915a71cff6ecce78d52173e53" 583 | dependencies = [ 584 | "polars-core", 585 | "polars-io", 586 | "polars-lazy", 587 | "polars-time", 588 | ] 589 | 590 | [[package]] 591 | name = "polars-arrow" 592 | version = "0.20.0" 593 | source = "registry+https://github.com/rust-lang/crates.io-index" 594 | checksum = "fcedf44a7b15b60c69e811c9d343ac459788e961dc4136f002ed1b68a1fada07" 595 | dependencies = [ 596 | "arrow2", 597 | "hashbrown 0.12.0", 598 | "num", 599 | "thiserror", 600 | ] 601 | 602 | [[package]] 603 | name = "polars-core" 604 | version = "0.20.0" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | checksum = "6dfed0e21ac4d4c85df45b5864a68cfc5b2a97e9fba8a981be7b09c6f02a7eaa" 607 | dependencies = [ 608 | "ahash", 609 | "anyhow", 610 | "arrow2", 611 | "chrono", 612 | "comfy-table", 613 | "hashbrown 0.12.0", 614 | "indexmap", 615 | "lazy_static", 616 | "num", 617 | "num_cpus", 618 | "polars-arrow", 619 | "rayon", 620 | "regex", 621 | "thiserror", 622 | ] 623 | 624 | [[package]] 625 | name = "polars-io" 626 | version = "0.20.0" 627 | source = "registry+https://github.com/rust-lang/crates.io-index" 628 | checksum = "d8770fb4233ab88affac80c410be090dc7a2c044a9e4e7b942132e94ceeb732b" 629 | dependencies = [ 630 | "ahash", 631 | "anyhow", 632 | "arrow2", 633 | "csv-core", 634 | "dirs", 635 | "lazy_static", 636 | "lexical", 637 | "memchr", 638 | "memmap2", 639 | "num", 640 | "num_cpus", 641 | "polars-arrow", 642 | "polars-core", 643 | "rayon", 644 | "regex", 645 | "simdutf8", 646 | ] 647 | 648 | [[package]] 649 | name = "polars-lazy" 650 | version = "0.20.0" 651 | source = "registry+https://github.com/rust-lang/crates.io-index" 652 | checksum = "4eca1fed3b88ae1bb9b7f1d7b2958f1655d9c1aed33495d6ba30ff84a0c1e9e9" 653 | dependencies = [ 654 | "ahash", 655 | "glob", 656 | "parking_lot", 657 | "polars-arrow", 658 | "polars-core", 659 | "polars-io", 660 | "polars-time", 661 | "polars-utils", 662 | "rayon", 663 | ] 664 | 665 | [[package]] 666 | name = "polars-time" 667 | version = "0.20.0" 668 | source = "registry+https://github.com/rust-lang/crates.io-index" 669 | checksum = "0fe48c759ca778a8b6fb30f70e9a81b56f0987a82dc71e61c5b2d3c236b6b8d6" 670 | dependencies = [ 671 | "chrono", 672 | "polars-arrow", 673 | "polars-core", 674 | ] 675 | 676 | [[package]] 677 | name = "polars-utils" 678 | version = "0.20.0" 679 | source = "registry+https://github.com/rust-lang/crates.io-index" 680 | checksum = "71011e8ed52f123ce23d110b496c8704d0a59c5fd4115cd938e7ff19d4bcb7ca" 681 | dependencies = [ 682 | "parking_lot", 683 | "rayon", 684 | ] 685 | 686 | [[package]] 687 | name = "proc-macro2" 688 | version = "1.0.36" 689 | source = "registry+https://github.com/rust-lang/crates.io-index" 690 | checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" 691 | dependencies = [ 692 | "unicode-xid", 693 | ] 694 | 695 | [[package]] 696 | name = "quote" 697 | version = "1.0.15" 698 | source = "registry+https://github.com/rust-lang/crates.io-index" 699 | checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" 700 | dependencies = [ 701 | "proc-macro2", 702 | ] 703 | 704 | [[package]] 705 | name = "rayon" 706 | version = "1.5.1" 707 | source = "registry+https://github.com/rust-lang/crates.io-index" 708 | checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" 709 | dependencies = [ 710 | "autocfg", 711 | "crossbeam-deque", 712 | "either", 713 | "rayon-core", 714 | ] 715 | 716 | [[package]] 717 | name = "rayon-core" 718 | version = "1.9.1" 719 | source = "registry+https://github.com/rust-lang/crates.io-index" 720 | checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" 721 | dependencies = [ 722 | "crossbeam-channel", 723 | "crossbeam-deque", 724 | "crossbeam-utils", 725 | "lazy_static", 726 | "num_cpus", 727 | ] 728 | 729 | [[package]] 730 | name = "redox_syscall" 731 | version = "0.2.11" 732 | source = "registry+https://github.com/rust-lang/crates.io-index" 733 | checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c" 734 | dependencies = [ 735 | "bitflags", 736 | ] 737 | 738 | [[package]] 739 | name = "redox_users" 740 | version = "0.4.0" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" 743 | dependencies = [ 744 | "getrandom", 745 | "redox_syscall", 746 | ] 747 | 748 | [[package]] 749 | name = "regex" 750 | version = "1.5.5" 751 | source = "registry+https://github.com/rust-lang/crates.io-index" 752 | checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" 753 | dependencies = [ 754 | "aho-corasick", 755 | "memchr", 756 | "regex-syntax", 757 | ] 758 | 759 | [[package]] 760 | name = "regex-syntax" 761 | version = "0.6.25" 762 | source = "registry+https://github.com/rust-lang/crates.io-index" 763 | checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" 764 | 765 | [[package]] 766 | name = "rust" 767 | version = "0.1.0" 768 | dependencies = [ 769 | "polars", 770 | ] 771 | 772 | [[package]] 773 | name = "rustversion" 774 | version = "1.0.6" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" 777 | 778 | [[package]] 779 | name = "scopeguard" 780 | version = "1.1.0" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 783 | 784 | [[package]] 785 | name = "signal-hook" 786 | version = "0.3.13" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d" 789 | dependencies = [ 790 | "libc", 791 | "signal-hook-registry", 792 | ] 793 | 794 | [[package]] 795 | name = "signal-hook-mio" 796 | version = "0.2.1" 797 | source = "registry+https://github.com/rust-lang/crates.io-index" 798 | checksum = "29fd5867f1c4f2c5be079aee7a2adf1152ebb04a4bc4d341f504b7dece607ed4" 799 | dependencies = [ 800 | "libc", 801 | "mio", 802 | "signal-hook", 803 | ] 804 | 805 | [[package]] 806 | name = "signal-hook-registry" 807 | version = "1.4.0" 808 | source = "registry+https://github.com/rust-lang/crates.io-index" 809 | checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" 810 | dependencies = [ 811 | "libc", 812 | ] 813 | 814 | [[package]] 815 | name = "simdutf8" 816 | version = "0.1.3" 817 | source = "registry+https://github.com/rust-lang/crates.io-index" 818 | checksum = "c970da16e7c682fa90a261cf0724dee241c9f7831635ecc4e988ae8f3b505559" 819 | 820 | [[package]] 821 | name = "smallvec" 822 | version = "1.8.0" 823 | source = "registry+https://github.com/rust-lang/crates.io-index" 824 | checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" 825 | 826 | [[package]] 827 | name = "static_assertions" 828 | version = "1.1.0" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 831 | 832 | [[package]] 833 | name = "streaming-iterator" 834 | version = "0.1.5" 835 | source = "registry+https://github.com/rust-lang/crates.io-index" 836 | checksum = "303235c177994a476226b80d076bd333b7b560fb05bd242a10609d11b07f81f5" 837 | 838 | [[package]] 839 | name = "strength_reduce" 840 | version = "0.2.3" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "a3ff2f71c82567c565ba4b3009a9350a96a7269eaa4001ebedae926230bc2254" 843 | 844 | [[package]] 845 | name = "strum" 846 | version = "0.23.0" 847 | source = "registry+https://github.com/rust-lang/crates.io-index" 848 | checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb" 849 | 850 | [[package]] 851 | name = "strum_macros" 852 | version = "0.23.1" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" 855 | dependencies = [ 856 | "heck", 857 | "proc-macro2", 858 | "quote", 859 | "rustversion", 860 | "syn", 861 | ] 862 | 863 | [[package]] 864 | name = "syn" 865 | version = "1.0.89" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54" 868 | dependencies = [ 869 | "proc-macro2", 870 | "quote", 871 | "unicode-xid", 872 | ] 873 | 874 | [[package]] 875 | name = "thiserror" 876 | version = "1.0.30" 877 | source = "registry+https://github.com/rust-lang/crates.io-index" 878 | checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" 879 | dependencies = [ 880 | "thiserror-impl", 881 | ] 882 | 883 | [[package]] 884 | name = "thiserror-impl" 885 | version = "1.0.30" 886 | source = "registry+https://github.com/rust-lang/crates.io-index" 887 | checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" 888 | dependencies = [ 889 | "proc-macro2", 890 | "quote", 891 | "syn", 892 | ] 893 | 894 | [[package]] 895 | name = "time" 896 | version = "0.1.43" 897 | source = "registry+https://github.com/rust-lang/crates.io-index" 898 | checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" 899 | dependencies = [ 900 | "libc", 901 | "winapi", 902 | ] 903 | 904 | [[package]] 905 | name = "unicode-segmentation" 906 | version = "1.9.0" 907 | source = "registry+https://github.com/rust-lang/crates.io-index" 908 | checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" 909 | 910 | [[package]] 911 | name = "unicode-width" 912 | version = "0.1.9" 913 | source = "registry+https://github.com/rust-lang/crates.io-index" 914 | checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" 915 | 916 | [[package]] 917 | name = "unicode-xid" 918 | version = "0.2.2" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" 921 | 922 | [[package]] 923 | name = "version_check" 924 | version = "0.9.4" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 927 | 928 | [[package]] 929 | name = "wasi" 930 | version = "0.10.2+wasi-snapshot-preview1" 931 | source = "registry+https://github.com/rust-lang/crates.io-index" 932 | checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" 933 | 934 | [[package]] 935 | name = "winapi" 936 | version = "0.3.9" 937 | source = "registry+https://github.com/rust-lang/crates.io-index" 938 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 939 | dependencies = [ 940 | "winapi-i686-pc-windows-gnu", 941 | "winapi-x86_64-pc-windows-gnu", 942 | ] 943 | 944 | [[package]] 945 | name = "winapi-i686-pc-windows-gnu" 946 | version = "0.4.0" 947 | source = "registry+https://github.com/rust-lang/crates.io-index" 948 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 949 | 950 | [[package]] 951 | name = "winapi-x86_64-pc-windows-gnu" 952 | version = "0.4.0" 953 | source = "registry+https://github.com/rust-lang/crates.io-index" 954 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 955 | 956 | [[package]] 957 | name = "windows-sys" 958 | version = "0.32.0" 959 | source = "registry+https://github.com/rust-lang/crates.io-index" 960 | checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" 961 | dependencies = [ 962 | "windows_aarch64_msvc", 963 | "windows_i686_gnu", 964 | "windows_i686_msvc", 965 | "windows_x86_64_gnu", 966 | "windows_x86_64_msvc", 967 | ] 968 | 969 | [[package]] 970 | name = "windows_aarch64_msvc" 971 | version = "0.32.0" 972 | source = "registry+https://github.com/rust-lang/crates.io-index" 973 | checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" 974 | 975 | [[package]] 976 | name = "windows_i686_gnu" 977 | version = "0.32.0" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" 980 | 981 | [[package]] 982 | name = "windows_i686_msvc" 983 | version = "0.32.0" 984 | source = "registry+https://github.com/rust-lang/crates.io-index" 985 | checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" 986 | 987 | [[package]] 988 | name = "windows_x86_64_gnu" 989 | version = "0.32.0" 990 | source = "registry+https://github.com/rust-lang/crates.io-index" 991 | checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" 992 | 993 | [[package]] 994 | name = "windows_x86_64_msvc" 995 | version = "0.32.0" 996 | source = "registry+https://github.com/rust-lang/crates.io-index" 997 | checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" 998 | -------------------------------------------------------------------------------- /src/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "rust" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | polars="0.20.0" -------------------------------------------------------------------------------- /src/rust/src/main.rs: -------------------------------------------------------------------------------- 1 | use polars::prelude::*; 2 | 3 | fn main() { 4 | println!("Hello, world!"); 5 | let s1 = Series::new("Fruit", &["Apple", "Apple", "Pear"]); 6 | let s2 = Series::new("Color", &["Red", "Yellow", "Green"]); 7 | 8 | let df: Result = DataFrame::new(vec![s1, s2]); 9 | println!("{:?}", df.unwrap()); 10 | } 11 | --------------------------------------------------------------------------------