mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-05 21:05:00 +08:00
REF: Renamed granularity to data_frequency.
This commit is contained in:
@@ -90,16 +90,16 @@ class TestTransformAlgorithm(TestCase):
|
||||
{'window_length': 2, 'market_aware': True}
|
||||
assert algo.registered_transforms['mavg']['class'] is MovingAverage
|
||||
|
||||
def test_granularity_setting(self):
|
||||
algo = TestRegisterTransformAlgorithm(granularity='daily')
|
||||
self.assertEqual(algo.granularity, 'daily')
|
||||
def test_data_frequency_setting(self):
|
||||
algo = TestRegisterTransformAlgorithm(data_frequency='daily')
|
||||
self.assertEqual(algo.data_frequency, 'daily')
|
||||
self.assertEqual(algo.annualizer, 250)
|
||||
|
||||
algo = TestRegisterTransformAlgorithm(granularity='minute')
|
||||
self.assertEqual(algo.granularity, 'minute')
|
||||
algo = TestRegisterTransformAlgorithm(data_frequency='minute')
|
||||
self.assertEqual(algo.data_frequency, 'minute')
|
||||
self.assertEqual(algo.annualizer, 250 * 6 * 60)
|
||||
|
||||
algo = TestRegisterTransformAlgorithm(granularity='minute',
|
||||
algo = TestRegisterTransformAlgorithm(data_frequency='minute',
|
||||
annualizer=10)
|
||||
self.assertEqual(algo.granularity, 'minute')
|
||||
self.assertEqual(algo.data_frequency, 'minute')
|
||||
self.assertEqual(algo.annualizer, 10)
|
||||
|
||||
@@ -72,11 +72,11 @@ class TradingAlgorithm(object):
|
||||
"""Initialize sids and other state variables.
|
||||
|
||||
:Arguments:
|
||||
granularity : str (daily, hourly or minutely)
|
||||
data_frequency : str (daily, hourly or minutely)
|
||||
The duration of the bars.
|
||||
annualizer : int <optional>
|
||||
Which constant to use for annualizing risk metrics.
|
||||
If not provided, will extract from granularity.
|
||||
If not provided, will extract from data_frequency.
|
||||
capital_base : float <default: 1.0e5>
|
||||
How much capital to start with.
|
||||
"""
|
||||
@@ -96,10 +96,10 @@ class TradingAlgorithm(object):
|
||||
self.slippage = VolumeShareSlippage()
|
||||
self.commission = PerShare()
|
||||
|
||||
if 'granularity' in kwargs:
|
||||
self.set_granularity(kwargs.pop('granularity'))
|
||||
if 'data_frequency' in kwargs:
|
||||
self.set_data_frequency(kwargs.pop('data_frequency'))
|
||||
else:
|
||||
self.granularity = None
|
||||
self.data_frequency = None
|
||||
|
||||
# Override annualizer if set
|
||||
if 'annualizer' in kwargs:
|
||||
@@ -317,7 +317,7 @@ class TradingAlgorithm(object):
|
||||
assert isinstance(transforms, list)
|
||||
self.transforms = transforms
|
||||
|
||||
def set_granularity(self, granularity):
|
||||
assert granularity in ('daily', 'minute')
|
||||
self.granularity = granularity
|
||||
self.annualizer = ANNUALIZER[self.granularity]
|
||||
def set_data_frequency(self, data_frequency):
|
||||
assert data_frequency in ('daily', 'minute')
|
||||
self.data_frequency = data_frequency
|
||||
self.annualizer = ANNUALIZER[self.data_frequency]
|
||||
|
||||
Reference in New Issue
Block a user