Commit Graph

2272 Commits

Author SHA1 Message Date
Thomas Wiecki cbb8e28f8e TST: Fix history unittest. 2014-09-17 18:17:36 +02:00
Thomas Wiecki 5490349c62 MAINT: Test frequency.unit_str instead of frequency string. 2014-09-17 18:17:11 +02:00
Thomas Wiecki 49b511558d BLD: Remove numpy 1.8.1 requirement from travis. 2014-09-17 16:23:17 +02:00
Thomas Wiecki 011f072fe2 MAINT: Add assertion for incompatible history freq specification. Supplying 1m frequency to history but only providing daily source data resulted in an odd non-descript exception. This adds a specific check and raises a more informative exception. 2014-09-17 15:04:37 +02:00
Eddie Hebert 7eb1d719ed MAINT: Check attributes instead of contains for event fields.
In support of source that emits a subclass of Event which defines some
fields as properties instead of doubling the value in the
`Event.__dict__`

Use hasattr instead of the overridden __contains__ method of the Event
class, so that when non-algorithm facing code checks for field existence,
properties count.

Intentionally not touching the `__contains__` in Event, to avoid
changing, at the moment, any algo behavior that relies on the
`__contains__` behavior's use of `__dict__`
2014-09-08 11:09:41 -04:00
Richard Frank 6a5eaea835 MAINT: Use local variable with same value 2014-09-03 18:07:51 -04:00
Richard Frank 3784ed4ba9 ENH: A TradingAlgorithm method called before each trading day 2014-09-03 18:07:51 -04:00
Scott Sanderson 1b2d79988f BUG: Fix exception when comparing Event to object with no __dict__.
In particular don't throw an exception on comparison to `None`.
2014-09-02 20:42:49 -04:00
Delaney Granizo-Mackenzie 5d5dbb5c3a Merge pull request #385 from quantopian/exception-on-nan-order-value
BUG: StopLimit better bad value exception handling
2014-08-26 14:43:22 -04:00
Delaney Granizo-Mackenzie 5488da0dc2 ENH: Well formed exception for any value passed to OrderStyle
This commit adds support for arbitrary objects in addition to NaN
and infinity values. The object well be returned in string format
as part of the error message.
2014-08-26 14:02:28 -04:00
Delaney Granizo-Mackenzie 15f33d3e9d BUG: Exception will be raised when nan value sent to order()
Previously order was not checking for nan values sent as
limit or stop prices. It will now raise a runtime exception
in the event that an attempt to order with a nan price is made.
2014-08-25 11:23:28 -04:00
Joe Jevnik 16d15ed514 Merge pull request #384 from quantopian/q-or-zipline
get_environment api_method
2014-08-21 14:32:14 -04:00
llllllllll 7563124547 ENH: Adds a new api_method called get_environment so that users may
check if their algorithm is running in zipline or on Quantopian.
2014-08-14 11:48:19 -04:00
Scott Sanderson 4420e370ff MAINT: Move call to updated_portfolio in AlgorithmSimulator.
We guarantee that `TradingAlgorithm.updated_portfolio` is called at least once
between each perf message emission.  This change moves that guaranteed call
into `AlgorithmSimulator.get_message` and adds a comment to make it clear why
updated_portfolio is being called.
2014-08-13 13:00:03 -04:00
Scott Sanderson 3e978d0ebb MAINT: Remove unused methods from TradingAlgorithm.
Removes unused method `raw_positions` and `raw_orders` from `TradingAlgorithm`.
These methods existed to help support features in the Quantopian codebase,
which no longer use the existing interface.
2014-08-13 13:00:03 -04:00
Scott Sanderson d02dd972d5 BUG: Fix crash in transforms on malformed CUSTOM events.
Fixes a crash in various transforms when providing CUSTOM events whose fields
don't match the fields required for the transform.

This is fixed by requiring all `EventWindow` subclasses to supply a `fields`
property, which returns a list of strings that are required keys for any event
that can be processed by the window.  Any CUSTOM events the don't supply the
required fields for a transform window are ignored by that window.
2014-08-13 12:54:29 -04:00
Joe Jevnik f9b1fe6ff6 Merge pull request #383 from quantopian/welcome-to-the-family
symbol as an api_method
2014-08-06 18:43:33 -04:00
llllllllll 90405b1c99 MAINT: Adds symbol to the list of api_methods. 2014-08-06 18:18:56 -04:00
John Ricklefs d73d2336ac Merge pull request #380 from quantopian/broker_order_statuses
ENH: Add new order statuses for broker integration
2014-08-06 15:33:57 -04:00
John Ricklefs f13bbd5d76 ENH: Re-work the usage of _status on Order 2014-08-06 15:00:26 -04:00
John Ricklefs dd97292a94 TST: Add tests for behavior of rejected/held orders.
Also made a tweak to the handling of Order.status
for when a held order is filled (partial or full).
2014-08-06 15:00:26 -04:00
Brian Fink 65dea626a0 BUG: Clean up handling of reject() and hold() orders 2014-08-06 15:00:25 -04:00
John Ricklefs ec20b3be8a ENH: Add new order statuses for broker integration 2014-08-06 15:00:25 -04:00
Thomas Wiecki bb6e9c26c0 Merge pull request #382 from quantopian/talib_optional
Make talib an optional dependency.
2014-08-06 15:13:00 +02:00
Eddie Hebert 3c8363722e MAINT: Log more information on history update failure.
Log the field and algo datetime when the update of the return frame
fails; re-raise the error until the when and why of the value error is
understood.
2014-08-05 12:17:00 -04:00
Thomas Wiecki 3f1c3b39ad MAINT: Make talib an optional dependency. Fixes #362. 2014-08-04 13:25:46 +02:00
Thomas Wiecki e9b7209c13 MAINT: Factor talib tests out to separate file. 2014-08-04 13:17:21 +02:00
Thomas Wiecki c12304ce40 DOC: Updated dual moving average example to use symbol lookup. 2014-08-04 12:21:50 +02:00
Delaney Granizo-Mackenzie 79041df093 Created 0.7.1 release notes 2014-07-29 12:59:00 -04:00
Delaney Granizo-Mackenzie 3b9fa53719 Merge pull request #378 from quantopian/fixed-zero-last-sale-price
BUG: Fixed random dips in returns as shown to user.
2014-07-29 12:15:23 -04:00
Delaney Granizo-Mackenzie 0fd78cd54a BUG: Fixed random dips in returns as shown to user.
Previously the last sale price was not correctly being set on
positions when the transaction arrived before the trade event.
The last sale price was defaulted to zero and never updated. This resulted
in one holding stocks that were bough >>0 and now had value 0 from
the perspective of returns. The returns would display correctly again
when the next trade of that security happened. For most securities trading is
frequent enough that there's no issue, but for some illiquid ones it took
hours to fix itself.

Updated test_perf_tracking:TestPerformanceTracker.test_minute_tracker
This test was based on assuming that last_sale_price was zero,
allowing the sharpe ratio to be calculated. The sharpe ratio can no longer
be calculated for this specific tested scenario and the test has been changed
accordingly.
2014-07-29 11:07:13 -04:00
Thomas Wiecki 2a71f8353a DOC: Fix readme example and update dependency doc. 2014-07-26 09:28:44 +02:00
Thomas Wiecki 97781dc39e BLD: Update md5 sum in meta.yaml. 2014-07-25 19:37:17 +02:00
Thomas Wiecki a7de02176b Bump version: 0.7.0rc1 → 0.7.0 2014-07-25 19:34:49 +02:00
Thomas Wiecki 6dc9c1b8ae BUG: Fix comparison for pandas 0.14. Closes #377. 2014-07-25 19:31:25 +02:00
Thomas Wiecki d4d0477eb5 BLD: Add Python as a conda dependency. 2014-07-22 11:09:49 +02:00
Delaney Granizo-Mackenzie 62c9b96674 Merge pull request #372 from quantopian/moved-perf-tracker-assignment
BUG: Put initialization of perf_tracker back in __init__
2014-07-21 13:48:22 -04:00
Delaney Granizo-Mackenzie 97c88c3c30 BUG: Put initialization of perf_tracker back in __init__
The initialization of perf_tracker had been moved from __init__
in TradingAlgorithm to _create_generator. This caused perf_tracker
to not be ready when portfolio requested it. portfolio was consequently
not ready for access in init. portfolio can now be accessed in init
again, assuming valid sim_params are passed. Otherwise it will be
available in handle_data() after _create_generator() is called.
2014-07-21 12:17:07 -04:00
Thomas Wiecki 0ff6a1cc1b BLD: Update md5 sum. 2014-07-21 15:05:29 +02:00
Thomas Wiecki 5b1afe166b DOC: Update release notes for 0.7 2014-07-21 14:31:40 +02:00
Scott Sanderson d610ea0a3b DOC: Rename 'guid' to 'id' in dividend tracking logic. 2014-07-18 15:04:20 -04:00
Scott Sanderson 1039919340 STY: In test_perf_tracking, import datetime/timedelta via from-import. 2014-07-18 15:04:20 -04:00
Scott Sanderson 4712891e88 ENH: Remove dividends from the event stream.
Removes support for handling dividends as part of the algorithm
simulation stream, replacing it with an API in `TradingAlgorithm` for
supplying dividends as a DataFrame.
2014-07-18 15:04:20 -04:00
Scott Sanderson a8431944aa MAINT: Add comments and rename methods in PerformanceTracker.
The function that handles a market close for daily frequency changed from
`handle_market_close` to `handle_market_close_daily`.

The function that is called at on the closing minute each day when running
minutely changed from `handle_intraday_close` to
`handle_intraday_market_close`.
2014-07-18 15:04:20 -04:00
Scott Sanderson 0176279404 MAINT: Refactor AlgorithmSimulator.transform.
Breaks out the main snapshot processing loop into its own function, and does
some minor variable renaming-shuffling.

Adds `TradingAlgorithm.on_dt_changed`, a function to be called when the
simulation dt changes, prior to processing any events.

There should be no difference in behavior as a result of this change.
2014-07-18 15:04:20 -04:00
Thomas Wiecki 8d16efc5c4 Bump version: 0.7.0 → 0.7.0rc1 2014-07-18 15:38:30 +02:00
Thomas Wiecki d6f26274ac Bump version: 0.6.1 → 0.7.0 2014-07-18 15:38:20 +02:00
Thomas Wiecki 5199031b68 BLD: Update .bumpversion.cfg to new config file specs. 2014-07-18 15:36:08 +02:00
Thomas Wiecki e139294551 DOC: Typos in release announcements. 2014-07-17 17:29:54 +02:00
Thomas Wiecki 0bfb18f23b DOC: Update release notes for 0.7. Add tutorial link to README. 2014-07-17 17:23:30 +02:00