Commit Graph
60 Commits
Author SHA1 Message Date
Andrew LiangandGitHub d4054f7522 Merge pull request #1782 from quantopian/no_slippage_comparison
MAINT: Remove __eq__ implementation from slippage
2017-05-23 15:39:36 -04:00
Andrew Liang a382dda034 MAINT: Remove __eq__ implementation from slippage 2017-05-22 23:00:24 -04:00
Andrew LiangandGitHub 893671339c Merge pull request #1676 from quantopian/param_sapce
TEST: Allow parameter_space to work on repeated calls of test
2017-02-08 18:39:51 -05:00
Andrew Liang 97f537f35c TEST: Allow parameter_space to work on repeated calls of test
If we have a test that's being called more than once (i.e. two
test cases, both subclasses of the same base test case, with
different setup but calling the same test), allow the subsequent
calls to re-consume the same params
2017-02-08 18:19:14 -05:00
Andrew LiangandGitHub 186465f63b Merge pull request #1669 from quantopian/expect_strict_bounds
ENH: Decorator to check inputs fall EXCLUSIVELY between bounds
2017-02-01 14:01:26 -05:00
Andrew Liang 072c2e0851 ENH: Decorator to check inputs fall EXCLUSIVELY between bounds
Make a new decorator, expect_strictly_bounds, which shares logic
with the existing expect_bounded (which checks that inputs fall
INCLUSIVELY between bounds),
2017-02-01 13:38:27 -05:00
Andrew LiangandGitHub 03d77b34b4 Merge pull request #1527 from quantopian/fix_restrictions
BUG: Restrictions passed into HistoricalRestrictions not sorted correctly
2016-10-05 15:02:50 -04:00
Andrew Liang b0aba20a6e BUG: Restrictions passed into HistoricalRestrictions not sorted correctly 2016-10-05 14:09:26 -04:00
Andrew LiangandGitHub ea99962979 Merge pull request #1487 from quantopian/rlist
Create in-memory restricted list
2016-10-03 16:01:39 -04:00
Andrew Liang c5ee71afe6 DOC: Clean up Restrictions documentation 2016-09-30 16:35:24 -04:00
Andrew Liang 2104a35af8 ENH: _UnionRestrictions for combining multiple Restrictions 2016-09-30 16:35:24 -04:00
Andrew Liang 3b5031a829 MAINT: Rename restrictions.py to asset_restrictions.py
For clarity as to what sort of restrictions these are
2016-09-30 16:35:24 -04:00
Andrew Liang bf8b030417 MAINT: Deprecate set_do_not_order_list
In favor of a new method `set_restrictions` which takes a Restrictions
object. Calls to `set_do_not_order_list` should raise a deprecation
warning and create an equivalent Restrictions object, with which
`set_restrictions` will be called. For convenience, create a
RestrictionsSet from which the "restrictions" version of a security
list can be accessed
2016-09-30 16:35:23 -04:00
Andrew Liang 5e276d0e72 TEST: Modify tests for extra BarData parameter
Introducing a WithCreateBarData fixture which allows for the
creation of a BarData using only the `simulation_dt_func` and
`restrictions` params. Assumes that each suite uses the same
`data_portal`, `data_frequency` and `trading_calendar`
2016-09-29 10:11:15 -04:00
Andrew Liang e465f64f91 MAINT: Create SecurityListRestrictions that takes a SecurityList
The SecurityList implements a non-exposed method
`current_securities(dt)` which SecurityListRestrictions calls to
determine if an asset is restricted. Deprecate the `__iter__` and
`__contains__` methods of security lists in favor of
`current_securities(dt)`
2016-09-29 10:11:14 -04:00
Andrew Liang b70084c6bf ENH: can_trade should take restricted list into account
Additionally, create an option for a violation of a 'do not order'
trading control to log an error instead of failing
2016-09-29 10:11:14 -04:00
Andrew Liang 0119aba410 ENH: A point-in-time restricted list with restrictions stored in memory
An ABC Restrictions defines a group of restrictions responsible
for returning restriction information for sids on certain dts. An
InMemoryRestrictions is a point-in-time group of such restrictions,
with all restrictions and their dates passed in upon instantiation.
A StaticRestrictedList takes a list of sids, restricting them at all
dates
2016-09-27 18:19:51 -04:00
Andrew LiangandGitHub 5b9d2e2d04 Merge pull request #1353 from quantopian/yield_capital_changes2
ENH: Yield capital change information
2016-08-02 14:19:55 -04:00
Andrew Liang 5904ecb40f ENH: Yield capital change information 2016-08-01 15:19:11 -04:00
Andrew LiangandGitHub 18aba63da9 Merge pull request #1359 from quantopian/refactor_subperiod
MAINT: Refactor application of capital changes
2016-08-01 14:00:48 -04:00
Andrew Liang 98f3fc9326 MAINT: Refactor application of capital changes
Previously, on the dt of a capital change, we use the un-updated
prices to find the ending performance of the previous subperiod and
then got the new prices to determine the portfolio value used to
calculate the delta, without actually updating the performance
before applying the capital change. This logic is confusing and
unintuitive. Instead, save the ending performance as we do previously,
but have temp values for the starting current subperiod value.
Update those temp values after processing the capital change
2016-08-01 11:51:45 -04:00
Andrew LiangandGitHub 2fe94d0c29 Merge pull request #1337 from quantopian/margin_changes
Capital Changes Refactoring
2016-07-25 10:54:34 -04:00
Andrew Liang 0955515c46 TEST: Test capital changes using target values 2016-07-25 10:05:47 -04:00
Andrew Liang fdf8cdcd68 BUG: Account object missing initial total_positions_exposure attr 2016-07-25 10:05:47 -04:00
Andrew Liang a9d698018a MAINT: Refactor checking, calculation and processing of capital changes
AlgorithmSimulator will no longer check for capital changes.
Instead, TradingAlgorithm find and calculate the changes, and
PerformanceTracker will apply the changes
2016-07-25 10:05:47 -04:00
Andrew Liang f146d6d8c1 MAINT: For capital changes, support input of delta or target value
For target changes, calculate the delta using the portfolio value
of the current minute
2016-07-20 15:44:41 -04:00
Andrew Liang 52cb0fc70a DEV: Allow net_leverage value to be forced by broker 2016-07-20 11:20:08 -04:00
Andrew LiangandGitHub 65bf854897 Merge pull request #1296 from quantopian/fix_month_start_rule
BUG: get_first_trading_day_of_month needs to return normalized dt
2016-06-21 12:55:06 -04:00
Andrew Liang 1643bd1db6 BUG: get_first_trading_day_of_month needs to return normalized dt 2016-06-21 12:26:40 -04:00
Andrew LiangandGitHub 4c2f0e86eb Merge pull request #1275 from quantopian/schedule_func_resilience_2
Schedule function rules refactoring
2016-06-14 14:26:20 -04:00
Andrew Liang ba3ba053cb MAINT: Refactor schedule function rules
Refactor to eliminate unnecessary type coercion. Reduce some code
duplication
2016-06-14 13:55:59 -04:00
Andrew Liang 28b1da443e MAINT: Raise when trying to get a date outside trading calendar
next_scheduled_day and previous_scheduled day should raise if
trying a return a date outside the calendar. Previously it just
returns None, but it should be made consistent with the behavior
of add_scheduled_days
2016-06-13 09:07:16 -04:00
Andrew LiangandGitHub 6079604483 Merge pull request #1226 from quantopian/schedule_function_resilience
MAINT: Make schedule function rules resilient for no trading day
2016-06-09 15:33:23 -04:00
Andrew Liang 7b82b9a2fd MAINT: Make schedule function rules resilient for no trading day
Make the rules resilient to env.previous_trading_day or
env.next_trading_day being None
2016-06-09 09:53:16 -04:00
Andrew Liang 7d1c79715d Merge pull request #1221 from quantopian/schedule_func_args
Support the passing of a time rule positionally on the date_rule arg
2016-06-03 17:44:28 -04:00
Andrew Liang 1056501b27 MAINT: Support the passing of a time rule positionally on the date_rule arg
But log a warning to the user
2016-06-03 15:28:53 -04:00
Andrew Liang d0890085bd Merge pull request #1231 from quantopian/log_capital_changes
LOG: Log the dt and amount when each capital change executes
2016-05-25 14:21:46 -04:00
Andrew Liang fb9e1abb92 LOG: Log the dt and amount when each capital change executes 2016-05-25 11:58:05 -04:00
Andrew Liang d34b1b9224 Merge pull request #1212 from quantopian/capital_changes
DEV: Adjust performance calculations for capital changes
2016-05-24 23:30:17 -04:00
Andrew Liang 40f42b43f5 DEV: Adjust performance calculations for capital changes
Refactor PerformancePeriod so that it creates a sub-period every
time a capital change happens within the period
2016-05-24 17:23:36 -04:00
Andrew LiangandJean Bredeche 7641247b41 BUG: DAY_END action not emitted during minute emission
Refactor AlgorithmSimulator so that DAY_END is emitted for both
minute and daily emission, and that handling of end-of-minute
and end-of-day are separated
2016-05-06 10:25:44 -04:00
Andrew Liang 21bc598d85 Merge pull request #1169 from quantopian/beyond_max_day
FIX: Error message for BenchmarkAssetNotAvailableTooLate is wrong
2016-05-02 12:21:39 -04:00
Andrew Liang fb6bda5840 FIX: Error message for BenchmarkAssetNotAvailableTooLate is wrong
Should be '...does not exist on self.trading_days[-1]...' not
self.trading_days[0]
2016-05-02 12:00:35 -04:00
Andrew Liang e73ce0bf2b Merge pull request #1168 from quantopian/fix_crashing_benchmark
FIX: Crashing on calculating benchmarking when no trading days
2016-04-29 14:59:49 -04:00
Andrew Liang bd07e824be FIX: Refactor to pass benchmark_asset to appropriate methods 2016-04-29 14:30:46 -04:00
Andrew Liang 7332586abe FIX: Crashing on calculating benchmarking when no trading days
When we run a simulation that starts and ends on the same weekend,
return an empty series for the benchmark so as to not crash
2016-04-29 14:30:46 -04:00
Andrew Liang 231c3a58b1 Merge pull request #1166 from quantopian/empty_positions
BUG: Don't save empty positions when user access non-existent position
2016-04-26 16:58:11 -04:00
Andrew Liang 4ffe04e4a5 FIX: Add last_sale_date to Position init for consistency 2016-04-26 16:13:07 -04:00
Andrew Liang d69b960c49 BUG: Don't save empty positions when user access non-existent position
Previously, whenever we try to access a missing value on the Positions
dict, we return a default Position and save it to the dict. Instead,
just return the Position
2016-04-26 13:28:35 -04:00
Andrew LiangandJean Bredeche 5809ae17f1 DEV: Better error message for sid= in get_open_orders
Let the user to know to use asset= instead
2016-04-26 12:23:57 -04:00
Andrew Liang 8aac0ab19f BUG: Week rule plus time rule doesn't work
The next trigger for the week rule get recalculated every time
the rule is triggered
2016-04-18 17:05:43 -04:00
Andrew Liang 85a2f6fe00 Merge pull request #1134 from quantopian/week_start
BUG: Recalculate trigger for week rule if we miss the first one
2016-04-15 15:24:51 -04:00
Andrew Liang 6d6cd58c3b BUG: Recalculate trigger for week rule if we miss the first one
If we start the simulation on a day so that we miss the trigger
(the first for the sim) for that week, recalculate the trigger
for next week
2016-04-15 15:09:08 -04:00
Andrew Liang b7d9723a54 Merge pull request #1131 from quantopian/week_schedule
BUG: week_end rule with offset=0 skips every other week
2016-04-15 10:32:40 -04:00
Andrew Liang 1ee3c5f049 BUG: week_end rule with offset=0 skips every other week 2016-04-15 10:17:18 -04:00
Andrew Liang 2775cc7ca4 FIX: Remove support for passing in sid int in place of Asset 2016-04-13 09:47:07 -04:00
Andrew Liang 8dc3ed73ab FIX: Check types of args passed to api methods on data 2016-04-13 09:47:07 -04:00
Andrew Liang 2454454b07 Merge pull request #1112 from quantopian/schedule_func_midday
FIX: time_rules should trigger only at dt specified
2016-04-06 09:16:43 -04:00
Andrew Liang a8491879ce FIX: time_rules should trigger only at dt specified
Previously, time_rules triggered when the dt specified has passed
2016-04-05 17:51:10 -04:00
Andrew LiangandJonathan Kamens f44c15bb38 Scrubbing known warnings 2015-04-22 22:07:25 -04:00