Metadata-Version: 2.1
Name: oanda-backtest
Version: 0.1.4
Summary: oanda-backtest is a python library for backtest with oanda rest api on Python 3.6 and above.
Home-page: https://github.com/10mohi6/oanda-backtest-python
Author: 10mohi6
Author-email: 10.mohi.6.y@gmail.com
License: MIT
Description: oanda-backtest
        ==============
        
        | |PyPI|
        | |License: MIT|
        | |codecov|
        | |Build Status|
        | |PyPI - Python Version|
        
        oanda-backtest is a python library for backtest with oanda rest api on
        Python 3.6 and above.
        
        Installation
        ------------
        
        ::
        
            $ pip install oanda-backtest
        
        Usage
        -----
        
        .. code:: python
        
            #
            # basic
            #
            from oanda_backtest import Backtest
        
            bt = Backtest(token='XXXXXXXXXX')
            bt.get("EUR_USD")
            fast_ma = bt.sma(period=5)
            slow_ma = bt.sma(period=25)
            bt.sell_exit = bt.buy_entry = ((fast_ma > slow_ma) & (fast_ma.shift() <= slow_ma.shift())).values
            bt.buy_exit = bt.sell_entry = ((fast_ma < slow_ma) & (fast_ma.shift() >= slow_ma.shift())).values
            bt.run()
            bt.plot()
        
            #
            # advanced
            #
            from oanda_backtest import Backtest
            import os
        
            bt = Backtest(token='XXXXXXXXXX')
            filepath='usd-jpy-h1.csv'
            if os.path.exists(filepath):
                df = bt.read_csv(filepath)
            else:
                params = {
                    "granularity": "H1",  # 1 hour candlesticks
                    "count": 5000 # 5000 candlesticks (default=500, maximum=5000)
                }
                df = bt.get("USD_JPY", params)
                bt.to_csv(filepath)
        
            fast_ma = bt.sma(period=10)
            slow_ma = bt.sma(period=30)
            exit_ma = bt.sma(period=5)
            bt.buy_entry = ((fast_ma > slow_ma) & (fast_ma.shift() <= slow_ma.shift())).values
            bt.sell_entry = ((fast_ma < slow_ma) & (fast_ma.shift() >= slow_ma.shift())).values
            bt.buy_exit = ((bt.C < exit_ma) & (bt.C.shift() >= exit_ma.shift())).values
            bt.sell_exit = ((bt.C > exit_ma) & (bt.C.shift() <= exit_ma.shift())).values
        
            bt.initial_deposit = 100000 # default=0
            bt.point = 0.01 # 1pips (default=0.0001)
            bt.lots = 1000 # currency unit (default=10000)
            bt.loss_cut = 50 # loss cut pips (default=0)
            bt.profit_taking = 100 # profit taking pips (default=0)
        
            print(bt.run())
            bt.plot("backtest.png")
        
        .. code:: python
        
            total profit            72.00
            total trades           188.00
            win rate                29.79
            profit factor            1.01
            maximum drawdown      2781.00
            recovery factor          0.03
            riskreward ratio         2.36
            sharpe ratio             0.00
            average return           0.17
            loss cut rate            0.53
            profit taking rate       0.53
        
        |backtest.svg|
        
        Getting started
        ---------------
        
        For help getting started with OANDA REST API, view our online
        `documentation <https://developer.oanda.com/rest-live-v20/introduction/>`__.
        
        Contributing
        ------------
        
        #. Fork it
        #. Create your feature branch (``git checkout -b my-new-feature``)
        #. Commit your changes (``git commit -am 'Add some feature'``)
        #. Push to the branch (``git push origin my-new-feature``)
        #. Create new Pull Request
        
        .. |PyPI| image:: https://img.shields.io/pypi/v/oanda-backtest
           :target: https://pypi.org/project/oanda-backtest/
        .. |License: MIT| image:: https://img.shields.io/badge/License-MIT-yellow.svg
           :target: https://opensource.org/licenses/MIT
        .. |codecov| image:: https://codecov.io/gh/10mohi6/oanda-backtest-python/branch/master/graph/badge.svg
           :target: https://codecov.io/gh/10mohi6/oanda-backtest-python
        .. |Build Status| image:: https://travis-ci.com/10mohi6/oanda-backtest-python.svg?branch=master
           :target: https://travis-ci.com/10mohi6/oanda-backtest-python
        .. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/oanda-backtest
           :target: https://pypi.org/project/oanda-backtest/
        .. |backtest.svg| image:: https://github.com/10mohi6/oanda-backtest-python/blob/master/tests/backtest.svg
        
        
Keywords: oanda backtest api python
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Operating System :: OS Independent
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
