Skip to content

Commit

Permalink
pep8, practice to paper
Browse files Browse the repository at this point in the history
  • Loading branch information
smartchris84 committed Oct 29, 2018
1 parent 2f78ce1 commit fabc3aa
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 20 deletions.
6 changes: 3 additions & 3 deletions README.md
Expand Up @@ -37,7 +37,7 @@ Replace <key_id> and <secret_key> with what you get from the web console.
store = alpaca_backtrader_api.AlpacaStore(
key_id='',
secret_key='',
practice=True
paper=True
)

broker = store.getbroker() # or just alpaca_backtrader_api.AlpacaBroker
Expand All @@ -61,9 +61,9 @@ The Alpaca API requires API key ID and secret key, which you can obtain from the
web console after you sign in. You can set them in the AlpacaStore constructor,
using 'key_id' and 'secret_key'.

## Practice/Live mode
## Paper/Live mode

The 'practice' parameter is default to False, which allows live trading.
The 'paper' parameter is default to False, which allows live trading.
If you set it to True, then you are in the paper trading mode.

## Support and Contribution
Expand Down
5 changes: 2 additions & 3 deletions alpaca_backtrader_api/alpacabroker.py
Expand Up @@ -233,8 +233,6 @@ def _fill(self, oref, size, price, ttype, **kwargs):
pos = self.getposition(data, clone=False)
psize, pprice, opened, closed = pos.update(size, price)

comminfo = self.getcommissioninfo(data)

closedvalue = closedcomm = 0.0
openedvalue = openedcomm = 0.0
margin = pnl = 0.0
Expand Down Expand Up @@ -312,7 +310,8 @@ def sell(self, owner, data,
return self._transmit(order)

def cancel(self, order):
o = self.orders[order.ref]
if not self.orders.get(order.ref, False):
return
if order.status == Order.Cancelled: # already cancelled
return

Expand Down
19 changes: 8 additions & 11 deletions alpaca_backtrader_api/alpacastore.py
Expand Up @@ -153,7 +153,7 @@ class AlpacaStore(with_metaclass(MetaSingleton, object)):
- ``secret_key`` (default: ``None``): Alpaca API secret key
- ``practice`` (default: ``False``): use the test environment
- ``paper`` (default: ``False``): use the paper trading environment
- ``account_tmout`` (default: ``10.0``): refresh period for account
value/cash refresh
Expand All @@ -165,12 +165,12 @@ class AlpacaStore(with_metaclass(MetaSingleton, object)):
params = (
('key_id', ''),
('secret_key', ''),
('practice', False),
('paper', False),
('account_tmout', 10.0), # account balance refresh timeout
)

_DTEPOCH = datetime(1970, 1, 1)
_ENVPRACTICE = 'practice'
_ENVPRACTICE = 'paper'
_ENVLIVE = 'live'
_ENV_PRACTICE_URL = 'https://paper-api.alpaca.markets'
_ENV_LIVE_URL = ''
Expand Down Expand Up @@ -198,7 +198,7 @@ def __init__(self):
self._ordersrev = collections.OrderedDict() # map oid to order.ref
self._transpend = collections.defaultdict(collections.deque)

if self.p.practice:
if self.p.paper:
self._oenv = self._ENVPRACTICE
self.p.base_url = self._ENV_PRACTICE_URL
else:
Expand Down Expand Up @@ -512,7 +512,7 @@ def _t_order_create(self):
o = self.oapi.submit_order(**okwargs)
except Exception as e:
self.put_notification(e)
self.broker._reject(order.ref)
self.broker._reject(oref)
return
try:
oid = o.id
Expand Down Expand Up @@ -575,15 +575,12 @@ def _transaction(self, trans):
# Invoked from Streaming Events. May actually receive an event for an
# oid which has not yet been returned after creating an order. Hence
# store if not yet seen, else forward to processer
# if not trans.getattr('order', False): # We only process trade updates
# return

oid = trans['id']

try:
oref = self._ordersrev[oid]
self._process_transaction(oid, trans)
except KeyError: # not yet seen, keep as pending
if not self._ordersrev.get(oid, False):
self._transpend[oid].append(trans)
self._process_transaction(oid, trans)

_X_ORDER_FILLED = ('partially_filled', 'filled', )

Expand Down
5 changes: 4 additions & 1 deletion changes.txt
@@ -1,2 +1,5 @@
v0.1, 2018-10-18
-- Initial release
-- Initial release
v0.11, 2018-10-29
-- Changed 'practice' keyword to 'paper'
-- pep8 compliant
4 changes: 2 additions & 2 deletions sample/alpacatest.py
Expand Up @@ -189,7 +189,7 @@ def runstrategy():
storekwargs = dict(
key_id=args.keyid,
secret_key=args.secretkey,
practice=not args.live,
paper=not args.live,
)

store = alpaca_backtrader_api.AlpacaStore(**storekwargs)
Expand Down Expand Up @@ -331,7 +331,7 @@ def parse_args(pargs=None):

parser.add_argument('--live', default=None,
required=False, action='store',
help='Go to live server rather than practice')
help='Go to live server rather than paper')

parser.add_argument('--qcheck', default=0.5, type=float,
required=False, action='store',
Expand Down

0 comments on commit fabc3aa

Please sign in to comment.