mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-14 11:15:09 +08:00
MAINT: Use symbol lookup directly from algorithm.
Instead of using the generic lookup, use the asset finder symbol method directly when `symbol` is used in an algorithm.
This commit is contained in:
@@ -597,13 +597,19 @@ class TestAlgoScript(TestCase):
|
||||
|
||||
def test_api_get_environment(self):
|
||||
platform = 'zipline'
|
||||
metadata = {0: {'symbol': 'TEST',
|
||||
'asset_type': 'equity'}}
|
||||
algo = TradingAlgorithm(script=api_get_environment_algo,
|
||||
asset_metadata=metadata,
|
||||
platform=platform)
|
||||
algo.run(self.df)
|
||||
self.assertEqual(algo.environment, platform)
|
||||
|
||||
def test_api_symbol(self):
|
||||
algo = TradingAlgorithm(script=api_symbol_algo)
|
||||
metadata = {0: {'symbol': 'TEST',
|
||||
'asset_type': 'equity'}}
|
||||
algo = TradingAlgorithm(script=api_symbol_algo,
|
||||
asset_metadata=metadata)
|
||||
algo.run(self.df)
|
||||
|
||||
def test_fixed_slippage(self):
|
||||
|
||||
@@ -662,11 +662,9 @@ class TradingAlgorithm(object):
|
||||
Default symbol lookup for any source that directly maps the
|
||||
symbol to the Asset (e.g. yahoo finance).
|
||||
"""
|
||||
asset, _ = self.asset_finder.lookup_generic(
|
||||
asset_convertible_or_iterable=symbol_str,
|
||||
as_of_date=self.datetime,
|
||||
)
|
||||
return asset
|
||||
return self.asset_finder.lookup_symbol_resolve_multiple(
|
||||
symbol_str,
|
||||
as_of_date=self.datetime)
|
||||
|
||||
@api_method
|
||||
def symbols(self, *args):
|
||||
|
||||
@@ -1003,7 +1003,7 @@ from zipline.api import get_environment, order, symbol
|
||||
def initialize(context):
|
||||
context.environment = get_environment()
|
||||
|
||||
handle_data = lambda context, data: order(symbol(0), 1)
|
||||
handle_data = lambda context, data: order(symbol('TEST'), 1)
|
||||
"""
|
||||
|
||||
api_symbol_algo = """
|
||||
@@ -1014,7 +1014,7 @@ def initialize(context):
|
||||
pass
|
||||
|
||||
def handle_data(context, data):
|
||||
order(symbol(0), 1)
|
||||
order(symbol('TEST'), 1)
|
||||
"""
|
||||
|
||||
call_order_in_init = """
|
||||
|
||||
Reference in New Issue
Block a user