mirror of
https://github.com/wassname/catalyst.git
synced 2026-06-28 19:15:15 +08:00
MAINT: Add custom exception for incompatible history frequency specification.
This commit is contained in:
@@ -26,6 +26,7 @@ from zipline.protocol import BarData
|
||||
import zipline.utils.factory as factory
|
||||
from zipline import TradingAlgorithm
|
||||
from zipline.finance.trading import SimulationParameters, TradingEnvironment
|
||||
from zipline.errors import IncompatibleHistoryFrequency
|
||||
|
||||
from zipline.sources import RandomWalkSource, DataFrameSource
|
||||
|
||||
@@ -412,7 +413,7 @@ def handle_data(context, data):
|
||||
sim_params = factory.create_simulation_parameters(
|
||||
start=start, end=end)
|
||||
|
||||
with self.assertRaises(ValueError):
|
||||
with self.assertRaises(IncompatibleHistoryFrequency):
|
||||
TradingAlgorithm(
|
||||
script=algo_text,
|
||||
data_frequency='daily',
|
||||
|
||||
@@ -159,3 +159,13 @@ class TradingControlViolation(ZiplineError):
|
||||
msg = """
|
||||
Order for {amount} shares of {sid} violates trading constraint {constraint}.
|
||||
""".strip()
|
||||
|
||||
|
||||
class IncompatibleHistoryFrequency(ZiplineError):
|
||||
"""
|
||||
Raised when a frequency is given to history which is not supported.
|
||||
At least, not yet.
|
||||
"""
|
||||
msg = """
|
||||
Minute history requires minute frequency input data.
|
||||
Either use daily history or provide minute frequency data.""".strip()
|
||||
|
||||
@@ -20,6 +20,7 @@ import pandas as pd
|
||||
import re
|
||||
|
||||
from zipline.finance import trading
|
||||
from zipline.errors import IncompatibleHistoryFrequency
|
||||
|
||||
|
||||
def parse_freq_str(freq_str):
|
||||
@@ -248,8 +249,7 @@ class HistorySpec(object):
|
||||
if isinstance(frequency, str):
|
||||
frequency = Frequency(frequency, daily_at_midnight)
|
||||
if frequency.unit_str == 'm' and data_frequency == 'daily':
|
||||
raise ValueError('Minute history requires minute frequency input data.\
|
||||
Either use daily history or provide minute frequency data.')
|
||||
raise IncompatibleHistoryFrequency()
|
||||
|
||||
# The frequency at which the data is sampled.
|
||||
self.frequency = frequency
|
||||
|
||||
Reference in New Issue
Block a user