All Projects → anirudhramanan → plutus-algo-backtesting

anirudhramanan / plutus-algo-backtesting

Licence: Apache-2.0 license
Algorithmic Trading : A python framework to run backtest on stocks using your own custom algorithmic strategies

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to plutus-algo-backtesting

roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (+325%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading, backtesting
QuantResearch
Quantitative analysis, strategies and backtests
Stars: ✭ 1,013 (+3517.86%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading, backtesting-trading-strategies
Zvt
modular quant framework.
Stars: ✭ 1,801 (+6332.14%)
Mutual labels:  stock-market, trading-strategies, algorithmic-trading, backtesting
quanttrader
Backtest and live trading in Python
Stars: ✭ 139 (+396.43%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading, backtesting-trading-strategies
Quant Trading
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
Stars: ✭ 2,407 (+8496.43%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
Ta Rs
Technical analysis library for Rust language
Stars: ✭ 248 (+785.71%)
Mutual labels:  stock-market, trading-strategies, trading-algorithms
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (+442.86%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
Openalgo
💹 openAlgo is a public repository for various work product relavant to algorithms and the high frequency low latency electronic trading space with a bias toward market microstructure as well as exchange traded futures and options.
Stars: ✭ 158 (+464.29%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
Quant
Codera Quant is a Java framework for algorithmic trading strategies development, execution and backtesting via Interactive Brokers TWS API or other brokers API
Stars: ✭ 104 (+271.43%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
Eiten
Statistical and Algorithmic Investing Strategies for Everyone
Stars: ✭ 2,197 (+7746.43%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
FAIG
Fully Automated IG Trading
Stars: ✭ 134 (+378.57%)
Mutual labels:  stock-market, trading-strategies, trading-algorithms
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (+371.43%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
Turingtrader
The Open-Source Backtesting Engine/ Market Simulator by Bertram Solutions.
Stars: ✭ 132 (+371.43%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
NSE-Stock-Scanner
National Stock Exchange (NSE), India based Stock screener program. Supports Live Data, Swing / Momentum Trading, Intraday Trading, Connect to online brokers as Zerodha Kite, Risk Management, Emotion Control, Screening, Strategies, Backtesting, Automatic Stock Downloading after closing, live free day trading data and much more
Stars: ✭ 78 (+178.57%)
Mutual labels:  stock-market, trading-strategies, algorithmic-trading
Hummingbot chinese
hummingbot中文资源
Stars: ✭ 114 (+307.14%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
TradingView-Machine-Learning-GUI
Let Python optimize the best stop loss and take profits for your TradingView strategy.
Stars: ✭ 396 (+1314.29%)
Mutual labels:  stock-market, trading-strategies, trading-algorithms
stockbot
Alpaca algo stock trading bot
Stars: ✭ 105 (+275%)
Mutual labels:  stock-market, trading-algorithms, algorithmic-trading
Financial Machine Learning
A curated list of practical financial machine learning tools and applications.
Stars: ✭ 2,172 (+7657.14%)
Mutual labels:  stock-market, trading-strategies, algorithmic-trading
LiuAlgoTrader
Framework for algorithmic trading
Stars: ✭ 514 (+1735.71%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+3607.14%)
Mutual labels:  trading-strategies, trading-algorithms, algorithmic-trading

A python framework to run backtest on stocks using your own combination of algorithmic strategies and technical indicators.

Sample Output Screenshot

Sample

Usage

Checkout plutus-demo.py file for demo

data_fetcher = YahooDataFetcher(symbol=config['symbol'], date_range=config['range'], interval=config['interval'])
strategy = MACrossoverStrategy()
plutus = Plutus(stock_fetcher=data_fetcher, signal_strategy=strategy)
plutus.backtest(BackTestType.SIGNAL_LONG)

Plutus takes in two arguments:

StockDataFetcher : a class used to fetch stock data. By default, use YahooDataFetcher which uses yahoo finance to fetch stock data based on the configuration.

SignalStrategy : This is where you define your buy and sell strategy. Implement the class and define your own strategy to buy and sell stocks. You can also specify the profit target and stop loss target.

Let us understand this with an example :

When you go long (ie where you buy the stock first and sell later) and your buy condition meets, the trader will place a buy order. The order bought will only be sold if it meets any of the three conditions :

  • Either your sell condition meets
  • Either the price hits the target you have defined
  • Else the price hits the stop loss defined.

Features

  • Backtesting with your own custom strategy
  • Create wishlist stocks and run tests against them
  • Outputs profit / loss for each stock
  • Support for some technical indicators
  • Python3 support

Technical Indicators

  • Relative Strength Index (RSI) - Momentum Indicator
  • Simple Moving Average (SMA) - Trend Indicator
  • Exponential Moving Average (EMA) - Trend Indicator
  • Moving Average Convergence Divergence (MACD) - Trend Indicator
  • Average True Range (ATR) - Volatility Indicator
  • Bollinger Band (BB) - Volatility Indicator

Upcoming Features

  • Plotting stocks
  • Adding support for more technical indicators
  • Enable unit testing

Contributing

The easiest way to contribute is by forking the repo, making your changes and creating a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].