Tyler Goodlet
7f36e85815
Append broker name to symbols before quotes broadcast in sampler task
2022-04-10 17:30:02 -04:00
Tyler Goodlet
8462ea8a28
Make the data feed layer "fqsn" aware
...
In order to support instruments with lifetimes (aka derivatives) we need
generally need special symbol annotations which detail such meta data
(such as `MNQ.GLOBEX.20220717` for daq futes). Further there is really
no reason for the public api for this feed layer to care about getting
a special "brokername" field since generally the data is coming directly
from UIs (eg. search selection) so we might as well accept a fqsn (fully
qualified symbol name) which includes the broker name; for now a suffix
like `'.ib'`. We may change this schema (soon) but this at least gets us
to a point where we expect the full name including broker/provider.
An additional detail: for certain "generic" symbol names (like for
futes) we will pull a so called "front contract" and map this to
a specific fqsn underneath, so there is a double (cached) entry for that
entry such that other consumers can use it the same way if desired.
Some other machinery changes:
- expect the `stream_quotes()` endpoint to deliver it's `.started()` msg
almost immediately since we now need it deliver any fqsn asap (yes
this means the ep should no longer wait on a "live" first quote and
instead deliver what quote data it can right away.
- expect the quotes ohlc sampler task to add in the broker name before
broadcast to remote (actor) consumers since the backend isn't (yet)
expected to do that add in itself.
- obviously we start using all the new fqsn related `Symbol` apis
2022-04-10 17:30:02 -04:00
Tyler Goodlet
e9d64ffee8
Use fqsn in `.manage_history()`
...
Allocate and `.started()` return the `ShmArray` from here as well in
prep for tsdb integration.
2022-04-10 17:30:02 -04:00
Tyler Goodlet
b16167b8f3
Add prelim fqsn support into our `Symbol` type
2022-04-10 17:30:02 -04:00
Tyler Goodlet
434c340cb8
Move factor helper to a classmethod
2022-04-10 17:30:02 -04:00
Tyler Goodlet
94e2103bf5
Be mega-tolerant to feed consumer disconnects
2022-04-10 17:30:02 -04:00
Tyler Goodlet
cc026dfb1d
Open feeds using `Portal.open_context()`
2022-04-10 17:30:02 -04:00
Tyler Goodlet
97c2a2da3e
Convert `iter_ohlc_periods()` to a `@tractor.context`
2022-04-10 17:30:02 -04:00
goodboy
039d06cc48
Merge pull request #298 from pikers/kraken_cleaning
...
Kraken cleaning, disable order support due to #299 !
2022-04-10 17:28:20 -04:00
Tyler Goodlet
58517295d2
Disable kraken orders due to #299
2022-04-10 17:27:15 -04:00
Tyler Goodlet
c39fa825d0
More explicit order-cancel errors handling
2022-04-10 17:07:08 -04:00
Tyler Goodlet
88306a6c1e
Drop invalid status msg, linting cleanups
2022-04-09 16:56:05 -04:00
Tyler Goodlet
c034ea742f
Fix comment: filled not executed is a valid status key
2022-04-09 16:46:25 -04:00
goodboy
d26fea70c7
Merge pull request #214 from iamzoltan/kraken_orders
...
Phil MacKraken
2022-04-09 16:45:04 -04:00
Konstantine Tsafatinos
cb970cef46
dark order gui patch, add filled status message
2022-04-08 19:25:24 -04:00
Konstantine Tsafatinos
c2e654aae2
change logic order for handling no config case
2022-04-07 13:03:53 -04:00
Konstantine Tsafatinos
2baa1b4605
fix hang when kraken is not in config
2022-03-28 18:28:19 -04:00
Konstantine Tsafatinos
cb8e97a142
address latest comments, refactor the pack position function
2022-03-23 10:34:53 -04:00
Konstantine Tsafatinos
1525c645ce
refactor get_positions into get_trades, and refactor pack_position with postion calc logic
2022-03-20 13:52:45 -04:00
Konstantine Tsafatinos
fd0acd21fb
refactory based on github comments, change doc string style
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
617bf3e0da
fix typo and get rid of pprint of ws stream
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
a3345dbba2
cleaned up code and added loop to grab all trades for position calcs
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
ee0be13af1
repurpose ws code for ownTrades stream, get trade authentication going
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
b1bff1be85
remove ws support for orders, use rest api instead for easy oid association
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
46948e0a8b
add order cancel support over websockets
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
d826a66c8c
use a mapping from userref to oid for order ack
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
6c54c81f01
get stashed changes
2022-03-06 15:17:26 -05:00
Tyler Goodlet
0122669dd4
Factor out ws msg hearbeat and error handling
...
Move the core ws message handling into `stream_messages()` and call that
from 2 new stream processors: `process_data_feed_msgs()` and
`process_order_msgs()`. Add comments for hints on how to implement the
order msg parsing as well as `pprint` received msgs to console for now.
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
0c905920e2
connect to krakens openOrders websocket
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
03d2eddce3
order submission and cancellation working
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
96dd5c632f
basic order submission and cancelling with kraken
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
b21bbf5031
valdiate and ack order requests from ems
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
66da58525d
mock orders validated from kraken
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
b55debbe95
get basic order request loop receiving msgs
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
1fe1f88806
added the bones for the handle_order_requests func
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
3d2be3674e
save progress on kraken to test out unit_select_fixes
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
48c7b5262c
get positions working for kraken
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
ef598444c4
get positions from trades
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
0285a847d8
Store changes for rebase, positions prototype
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
88061d8799
Add balance to the ledger
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
e12af8aa4c
Add get_ledger function; parses raw ledger from kraken api
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
184edb2a90
wrap api method calls with uri and nonce value
2022-03-06 15:17:26 -05:00
Konstantine Tsafatinos
b88dd380a3
get kraken authentication and retrieve balances
2022-03-06 15:17:26 -05:00
goodboy
bc59d476b1
Merge pull request #288 from pikers/pp_bar_fixes
...
pp bar fixes
2022-03-04 09:18:45 -05:00
Tyler Goodlet
01f5f2d015
Don't require a rt quote, increase client connect timeout
2022-03-03 17:49:21 -05:00
Tyler Goodlet
af3d624281
Just give up on discretized pp bar for now
2022-03-03 17:15:55 -05:00
Tyler Goodlet
2c9612ebd8
Force exact pp bar size
2022-03-03 10:46:30 -05:00
Tyler Goodlet
16b9e39e11
Dis-allow an allocator limit less then the current pp size
2022-03-02 10:05:33 -05:00
Tyler Goodlet
6889a25926
Drop pp bar clipping, hopefully fix slot sizing
2022-03-02 10:05:33 -05:00
goodboy
5fb85d9ea0
Merge pull request #287 from pikers/async_hist_loading
...
Async hist loading
2022-03-02 10:04:25 -05:00