mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-03 04:52:16 +08:00
ENH: Add symbol api function
A symbol() lookup feature was added to Quantopian. By adding the same API function to zipline we can make copy&pasting of a zipline algo to Quantopian easier.
This commit is contained in:
@@ -38,6 +38,7 @@ from zipline.test_algorithms import (TestRegisterTransformAlgorithm,
|
||||
handle_data_api,
|
||||
noop_algo,
|
||||
api_algo,
|
||||
api_symbol_algo,
|
||||
call_all_order_methods,
|
||||
record_variables,
|
||||
record_float_magic
|
||||
@@ -294,6 +295,10 @@ class TestAlgoScript(TestCase):
|
||||
algo = TradingAlgorithm(script=api_algo)
|
||||
algo.run(self.df)
|
||||
|
||||
def test_api_symbol(self):
|
||||
algo = TradingAlgorithm(script=api_symbol_algo)
|
||||
algo.run(self.df)
|
||||
|
||||
def test_fixed_slippage(self):
|
||||
# verify order -> transaction -> portfolio position.
|
||||
# --------------
|
||||
|
||||
@@ -29,6 +29,15 @@ from zipline.finance.slippage import (
|
||||
|
||||
batch_transform = zipline.transforms.BatchTransform
|
||||
|
||||
|
||||
def symbol(symbol_str, as_of_date=None):
|
||||
"""Default symbol lookup for any source that directly maps the
|
||||
symbol to the identifier (e.g. yahoo finance).
|
||||
|
||||
Keyword argument as_of_date is ignored.
|
||||
"""
|
||||
return symbol_str
|
||||
|
||||
__all__ = [
|
||||
'slippage',
|
||||
'commission',
|
||||
|
||||
@@ -745,6 +745,17 @@ def handle_data(context, data):
|
||||
record(incr=context.incr)
|
||||
"""
|
||||
|
||||
api_symbol_algo = """
|
||||
from zipline.api import (order,
|
||||
symbol)
|
||||
|
||||
def initialize(context):
|
||||
pass
|
||||
|
||||
def handle_data(context, data):
|
||||
order(symbol(0), 1)
|
||||
"""
|
||||
|
||||
call_all_order_methods = """
|
||||
from zipline.api import (order,
|
||||
order_value,
|
||||
|
||||
Reference in New Issue
Block a user