Tyler Goodlet
d62a636bcc
Pass concatted pre-fqsn directly to feed api
2022-04-10 17:30:02 -04:00
Tyler Goodlet
d0205e726b
Pass in fqsn from chart UI components
2022-04-10 17:30:02 -04:00
Tyler Goodlet
8df614465c
Fix missing f-str prefix
2022-04-10 17:30:02 -04:00
Tyler Goodlet
81cd696ec8
Drop sampler consumers that overrun 6x
2022-04-10 17:30:02 -04:00
Tyler Goodlet
a6e32e7530
Add `Symbol.tokens()` for grabbing separate strs
2022-04-10 17:30:02 -04:00
Tyler Goodlet
7bd5b42f9e
Ensure we lower case the fqsn received from all backends before delivery
2022-04-10 17:30:02 -04:00
Tyler Goodlet
76f398bd9f
Support no venue or suffix symbols (normally crypto$)
2022-04-10 17:30:02 -04:00
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