Skip to content

Commit 4e66141

Browse files
committed
Initial commit
1 parent e2674b1 commit 4e66141

File tree

172 files changed

+195
-200
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+195
-200
lines changed

README.rst

+23-28
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
1-
backtrader
1+
Cytrader
22
==========
33

4-
.. image:: https://img.shields.io/pypi/v/backtrader.svg
5-
:alt: PyPi Version
6-
:scale: 100%
7-
:target: https://pypi.python.org/pypi/backtrader/
8-
9-
.. .. image:: https://img.shields.io/pypi/dm/backtrader.svg
10-
:alt: PyPi Monthly Donwloads
11-
:scale: 100%
12-
:target: https://pypi.python.org/pypi/backtrader/
13-
14-
.. image:: https://img.shields.io/pypi/l/backtrader.svg
4+
.. image:: https://img.shields.io/pypi/l/cytrader.svg
155
:alt: License
166
:scale: 100%
17-
:target: https://github.com/backtrader/backtrader/blob/master/LICENSE
18-
.. image:: https://travis-ci.org/backtrader/backtrader.png?branch=master
7+
:target: https://github.com/Saran33/cytrader/blob/master/LICENSE
8+
.. image:: https://travis-ci.org/cytrader/cytrader.png?branch=master
199
:alt: Travis-ci Build Status
2010
:scale: 100%
21-
:target: https://travis-ci.org/backtrader/backtrader
22-
.. image:: https://img.shields.io/pypi/pyversions/backtrader.svg
11+
:target: https://travis-ci.org/cytrader/cytrader
12+
.. image:: https://img.shields.io/pypi/pyversions/cytrader.svg
2313
:alt: Python versions
2414
:scale: 100%
25-
:target: https://pypi.python.org/pypi/backtrader/
15+
:target: https://github.com/Saran33/cytrader
16+
17+
Cython Backtesting & Trading:
18+
=========
19+
20+
Cytrader is a fork of the popular [cytrader](https://github.com/mementum/cytrader) platform, cythonized for speed.
2621

2722
**Yahoo API Note**:
2823

@@ -41,18 +36,18 @@ different ways. Use the docs (and examples) Luke!
4136
::
4237

4338
from datetime import datetime
44-
import backtrader as bt
39+
import cytrader as ct
4540

46-
class SmaCross(bt.SignalStrategy):
41+
class SmaCross(ct.SignalStrategy):
4742
def __init__(self):
48-
sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30)
49-
crossover = bt.ind.CrossOver(sma1, sma2)
50-
self.signal_add(bt.SIGNAL_LONG, crossover)
43+
sma1, sma2 = ct.ind.SMA(period=10), ct.ind.SMA(period=30)
44+
crossover = ct.ind.CrossOver(sma1, sma2)
45+
self.signal_add(ct.SIGNAL_LONG, crossover)
5146

52-
cerebro = bt.Cerebro()
47+
cerebro = ct.Cerebro()
5348
cerebro.addstrategy(SmaCross)
5449

55-
data0 = bt.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1),
50+
data0 = ct.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1),
5651
todate=datetime(2012, 12, 31))
5752
cerebro.adddata(data0)
5853

@@ -126,14 +121,14 @@ Python 2/3 Support
126121
Installation
127122
============
128123

129-
``backtrader`` is self-contained with no external dependencies (except if you
124+
``cytrader`` is self-contained with no external dependencies (except if you
130125
want to plot)
131126

132127
From *pypi*:
133128

134-
- ``pip install backtrader``
129+
- ``pip install cytrader``
135130

136-
- ``pip install backtrader[plotting]``
131+
- ``pip install cytrader[plotting]``
137132

138133
If ``matplotlib`` is not installed and you wish to do some plotting
139134

@@ -154,7 +149,7 @@ the dependencies in the documentation.
154149

155150
From source:
156151

157-
- Place the *backtrader* directory found in the sources inside your project
152+
- Place the *cytrader* directory found in the sources inside your project
158153

159154
Version numbering
160155
=================

backtrader/__init__.py renamed to cytrader/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,5 +86,5 @@
8686
from . import talib as talib
8787

8888
# Load contributed indicators and studies
89-
import backtrader.indicators.contrib
90-
import backtrader.studies.contrib
89+
import cytrader.indicators.contrib
90+
import cytrader.studies.contrib

backtrader/analyzer.py renamed to cytrader/analyzer.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
import datetime
2727
import pprint as pp
2828

29-
import backtrader as bt
30-
from backtrader import TimeFrame
31-
from backtrader.utils.py3 import MAXINT, with_metaclass
29+
import cytrader as bt
30+
from cytrader import TimeFrame
31+
from cytrader.utils.py3 import MAXINT, with_metaclass
3232

3333

3434
class MetaAnalyzer(bt.MetaParams):
File renamed without changes.

backtrader/analyzers/annualreturn.py renamed to cytrader/analyzers/annualreturn.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
from collections import OrderedDict
2525

26-
from backtrader.utils.py3 import range
27-
from backtrader import Analyzer
26+
from cytrader.utils.py3 import range
27+
from cytrader import Analyzer
2828

2929

3030
class AnnualReturn(Analyzer):

backtrader/analyzers/calmar.py renamed to cytrader/analyzers/calmar.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from __future__ import (absolute_import, division, print_function,
2222
unicode_literals)
2323

24-
import backtrader as bt
24+
import cytrader as bt
2525
from . import TimeDrawDown
2626

2727

backtrader/analyzers/drawdown.py renamed to cytrader/analyzers/drawdown.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
from __future__ import (absolute_import, division, print_function,
2222
unicode_literals)
2323

24-
import backtrader as bt
25-
from backtrader.utils import AutoOrderedDict
24+
import cytrader as bt
25+
from cytrader.utils import AutoOrderedDict
2626

2727

2828
__all__ = ['DrawDown', 'TimeDrawDown']

backtrader/analyzers/leverage.py renamed to cytrader/analyzers/leverage.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from __future__ import (absolute_import, division, print_function,
2222
unicode_literals)
2323

24-
import backtrader as bt
24+
import cytrader as bt
2525

2626

2727
class GrossLeverage(bt.Analyzer):

backtrader/analyzers/logreturnsrolling.py renamed to cytrader/analyzers/logreturnsrolling.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import collections
2525
import math
2626

27-
import backtrader as bt
27+
import cytrader as bt
2828

2929

3030
__all__ = ['LogReturnsRolling']

backtrader/analyzers/periodstats.py renamed to cytrader/analyzers/periodstats.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
unicode_literals)
2323

2424

25-
import backtrader as bt
26-
from backtrader.utils.py3 import itervalues
27-
from backtrader.mathsupport import average, standarddev
25+
import cytrader as bt
26+
from cytrader.utils.py3 import itervalues
27+
from cytrader.mathsupport import average, standarddev
2828
from . import TimeReturn
2929

3030

backtrader/analyzers/positions.py renamed to cytrader/analyzers/positions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
unicode_literals)
2323

2424

25-
import backtrader as bt
25+
import cytrader as bt
2626

2727

2828
class PositionsValue(bt.Analyzer):

backtrader/analyzers/pyfolio.py renamed to cytrader/analyzers/pyfolio.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424

2525
import collections
2626

27-
import backtrader as bt
28-
from backtrader.utils.py3 import items, iteritems
27+
import cytrader as bt
28+
from cytrader.utils.py3 import items, iteritems
2929

3030
from . import TimeReturn, PositionsValue, Transactions, GrossLeverage
3131

backtrader/analyzers/returns.py renamed to cytrader/analyzers/returns.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
import math
2525

26-
import backtrader as bt
27-
from backtrader import TimeFrameAnalyzerBase
26+
import cytrader as bt
27+
from cytrader import TimeFrameAnalyzerBase
2828

2929

3030
class Returns(TimeFrameAnalyzerBase):

backtrader/analyzers/sharpe.py renamed to cytrader/analyzers/sharpe.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323

2424
import math
2525

26-
from backtrader.utils.py3 import itervalues
26+
from cytrader.utils.py3 import itervalues
2727

28-
from backtrader import Analyzer, TimeFrame
29-
from backtrader.mathsupport import average, standarddev
30-
from backtrader.analyzers import TimeReturn, AnnualReturn
28+
from cytrader import Analyzer, TimeFrame
29+
from cytrader.mathsupport import average, standarddev
30+
from cytrader.analyzers import TimeReturn, AnnualReturn
3131

3232

3333
class SharpeRatio(Analyzer):

backtrader/analyzers/sqn.py renamed to cytrader/analyzers/sqn.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323

2424
import math
2525

26-
from backtrader import Analyzer
27-
from backtrader.mathsupport import average, standarddev
28-
from backtrader.utils import AutoOrderedDict
26+
from cytrader import Analyzer
27+
from cytrader.mathsupport import average, standarddev
28+
from cytrader.utils import AutoOrderedDict
2929

3030

3131
class SQN(Analyzer):

backtrader/analyzers/timereturn.py renamed to cytrader/analyzers/timereturn.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from __future__ import (absolute_import, division, print_function,
2222
unicode_literals)
2323

24-
from backtrader import TimeFrameAnalyzerBase
24+
from cytrader import TimeFrameAnalyzerBase
2525

2626

2727
class TimeReturn(TimeFrameAnalyzerBase):

backtrader/analyzers/tradeanalyzer.py renamed to cytrader/analyzers/tradeanalyzer.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323

2424
import sys
2525

26-
from backtrader import Analyzer
27-
from backtrader.utils import AutoOrderedDict, AutoDict
28-
from backtrader.utils.py3 import MAXINT
26+
from cytrader import Analyzer
27+
from cytrader.utils import AutoOrderedDict, AutoDict
28+
from cytrader.utils.py3 import MAXINT
2929

3030

3131
class TradeAnalyzer(Analyzer):

backtrader/analyzers/transactions.py renamed to cytrader/analyzers/transactions.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424

2525
import collections
2626

27-
import backtrader as bt
28-
from backtrader import Order, Position
27+
import cytrader as bt
28+
from cytrader import Order, Position
2929

3030

3131
class Transactions(bt.Analyzer):

backtrader/analyzers/vwr.py renamed to cytrader/analyzers/vwr.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
import math
2525

26-
import backtrader as bt
27-
from backtrader import TimeFrameAnalyzerBase
26+
import cytrader as bt
27+
from cytrader import TimeFrameAnalyzerBase
2828
from . import Returns
2929
from ..mathsupport import standarddev
3030

backtrader/broker.py renamed to cytrader/broker.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
from __future__ import (absolute_import, division, print_function,
2222
unicode_literals)
2323

24-
from backtrader.comminfo import CommInfoBase
25-
from backtrader.metabase import MetaParams
26-
from backtrader.utils.py3 import with_metaclass
24+
from cytrader.comminfo import CommInfoBase
25+
from cytrader.metabase import MetaParams
26+
from cytrader.utils.py3 import with_metaclass
2727

2828
from . import fillers as fillers
2929
from . import fillers as filler
File renamed without changes.

backtrader/brokers/bbroker.py renamed to cytrader/brokers/bbroker.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
import collections
2525
import datetime
2626

27-
import backtrader as bt
28-
from backtrader.comminfo import CommInfoBase
29-
from backtrader.order import Order, BuyOrder, SellOrder
30-
from backtrader.position import Position
31-
from backtrader.utils.py3 import string_types, integer_types
27+
import cytrader as bt
28+
from cytrader.comminfo import CommInfoBase
29+
from cytrader.order import Order, BuyOrder, SellOrder
30+
from cytrader.position import Position
31+
from cytrader.utils.py3 import string_types, integer_types
3232

3333
__all__ = ['BackBroker', 'BrokerBack']
3434

backtrader/brokers/ibbroker.py renamed to cytrader/brokers/ibbroker.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@
3030
import ib.ext.Order
3131
import ib.opt as ibopt
3232

33-
from backtrader.feed import DataBase
34-
from backtrader import (TimeFrame, num2date, date2num, BrokerBase,
33+
from cytrader.feed import DataBase
34+
from cytrader import (TimeFrame, num2date, date2num, BrokerBase,
3535
Order, OrderBase, OrderData)
36-
from backtrader.utils.py3 import bytes, bstr, with_metaclass, queue, MAXFLOAT
37-
from backtrader.metabase import MetaParams
38-
from backtrader.comminfo import CommInfoBase
39-
from backtrader.position import Position
40-
from backtrader.stores import ibstore
41-
from backtrader.utils import AutoDict, AutoOrderedDict
42-
from backtrader.comminfo import CommInfoBase
36+
from cytrader.utils.py3 import bytes, bstr, with_metaclass, queue, MAXFLOAT
37+
from cytrader.metabase import MetaParams
38+
from cytrader.comminfo import CommInfoBase
39+
from cytrader.position import Position
40+
from cytrader.stores import ibstore
41+
from cytrader.utils import AutoDict, AutoOrderedDict
42+
from cytrader.comminfo import CommInfoBase
4343

4444
bytes = bstr # py2/3 need for ibpy
4545

backtrader/brokers/oandabroker.py renamed to cytrader/brokers/oandabroker.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@
2626
from datetime import date, datetime, timedelta
2727
import threading
2828

29-
from backtrader.feed import DataBase
30-
from backtrader import (TimeFrame, num2date, date2num, BrokerBase,
29+
from cytrader.feed import DataBase
30+
from cytrader import (TimeFrame, num2date, date2num, BrokerBase,
3131
Order, BuyOrder, SellOrder, OrderBase, OrderData)
32-
from backtrader.utils.py3 import bytes, with_metaclass, MAXFLOAT
33-
from backtrader.metabase import MetaParams
34-
from backtrader.comminfo import CommInfoBase
35-
from backtrader.position import Position
36-
from backtrader.stores import oandastore
37-
from backtrader.utils import AutoDict, AutoOrderedDict
38-
from backtrader.comminfo import CommInfoBase
32+
from cytrader.utils.py3 import bytes, with_metaclass, MAXFLOAT
33+
from cytrader.metabase import MetaParams
34+
from cytrader.comminfo import CommInfoBase
35+
from cytrader.position import Position
36+
from cytrader.stores import oandastore
37+
from cytrader.utils import AutoDict, AutoOrderedDict
38+
from cytrader.comminfo import CommInfoBase
3939

4040

4141
class OandaCommInfo(CommInfoBase):

backtrader/brokers/vcbroker.py renamed to cytrader/brokers/vcbroker.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
from datetime import date, datetime, timedelta
2626
import threading
2727

28-
from backtrader import BrokerBase, Order, BuyOrder, SellOrder
29-
from backtrader.comminfo import CommInfoBase
30-
from backtrader.feed import DataBase
31-
from backtrader.metabase import MetaParams
32-
from backtrader.position import Position
33-
from backtrader.utils.py3 import with_metaclass
34-
35-
from backtrader.stores import vcstore
28+
from cytrader import BrokerBase, Order, BuyOrder, SellOrder
29+
from cytrader.comminfo import CommInfoBase
30+
from cytrader.feed import DataBase
31+
from cytrader.metabase import MetaParams
32+
from cytrader.position import Position
33+
from cytrader.utils.py3 import with_metaclass
34+
35+
from cytrader.stores import vcstore
3636

3737

3838
class VCCommInfo(CommInfoBase):
File renamed without changes.

0 commit comments

Comments
 (0)