John Colvin
ddd07464d4
check pt: Before going to Chi (11/07/23, random scripts, etc.)
2024-01-13 12:56:31 -05:00
John Colvin
d7ba0b3215
check pt: Before going to Chi (11/07/23)
2024-01-13 12:56:31 -05:00
John Colvin
98b25ee17e
add util: StringStreamEnumerable
2024-01-13 12:56:31 -05:00
John Colvin
99106a8a73
add websocket server config, README
2024-01-13 12:56:31 -05:00
John Colvin
b56d0fb8f2
refactor: Change WebsocketServerConfig.port to uint32
...
It should always be a number between 1-65535
2024-01-13 12:56:31 -05:00
John Colvin
f6f692f38e
feat: Add Bts.DataStream.Websocket/Server
2024-01-13 12:56:30 -05:00
John Colvin
8009e61fc5
feat: Add JsonRpc types for websocket paradigm
2024-01-13 12:56:30 -05:00
John Colvin
4fa8a63c71
refactor: Add WebsocketGatewayObservable
...
An IObservable wrapper for IWebsocketConnectionGateway
2024-01-13 12:56:30 -05:00
John Colvin
8c8a8a9c22
refactor: Remove nullability constraint in GetValueOrDefault
2024-01-13 12:56:30 -05:00
John Colvin
2e12a37cb0
refactor: Use events to avoid circular deps for ws sync/gateway
2024-01-13 12:56:30 -05:00
John Colvin
e97e674ca1
refactor: Let caller specify nullability of T in json parse fn
2024-01-13 12:56:30 -05:00
John Colvin
6c91cfcb66
refactor: Get rid of redundant UniversalNumericComparer
2024-01-13 12:56:30 -05:00
John Colvin
34cab94692
refactor: Reorganize NumericComparer, support all types
2024-01-13 12:56:30 -05:00
John Colvin
25117c5bb7
Append application name to "logging" dir
...
So we can run datastream procs alongside sparkd on the same machine without
log file conflicts
2024-01-12 14:22:02 -05:00
John Colvin
8c95b43524
devcontainer: Name mount dir w/ 'devcontainerId'
...
To ensure it is unique on the main host (i.e., outside the container). Get rid
of devcontainer_initialize.sh, all it did was run "mkdir". Something this
trivial can be inlined in the devcontainer.json (less indirection this way).
2024-01-12 11:41:40 -05:00
John Colvin
1324e2aad1
Gitignore the '.devcontainer' dir (not the json file)
...
We actually do track a 'devcontainer.json' file (to keep as a template). We
just don't keep it in the '.devcontainer' dir, for the same reason we don't
track the '.vscode' dir: so devs can tailor it to their specific needs.
2024-01-12 11:41:40 -05:00
John Colvin
6fad8b754b
docker: Install kitware-archive-keyring to keep key in sync (for cmake)
2024-01-12 11:41:40 -05:00
Taha Afzal
f872fe9d56
AsyncTCPConnection_APM.cs now send onData with Disconnection if it detects teh other side has ShutDown
2024-01-11 17:02:41 -05:00
Taha Afzal
d50e8cda50
Adding AsyncTCPConnectionAcceptor_APM and AsyncTCPConnector_APM to create ITCPConnection
2024-01-11 16:10:51 -05:00
Taha Afzal
694f8b8d11
AsyncTCPConnection_APM works now
2024-01-09 14:34:15 -05:00
Taha Afzal
047267ad1b
AsyncTCPConnection_APM completed (not hooked yet)
2024-01-06 11:34:46 -05:00
Taha Afzal
5b4b41d4eb
Adding MongoDB astream integration
2024-01-02 00:44:52 -05:00
Taha
3e25b4918f
Adding 3 AsyncTCPCOnnections for APM, TAP, and SocketAsyncEventArgs
2024-01-02 00:43:40 -05:00
Taha Afzal
1ceea4af5a
Changing TCPUtils to use SocketAsyncEventArgs instead of TAP functions, simple client<->server works with echoing messages
2023-12-20 11:32:53 -05:00
Taha Afzal
cdc7da8c59
Adding sec_name col to bbo
2023-12-18 12:57:04 -05:00
Taha Afzal
f1e26b984a
Merge branch 'development' of bitbucket.org:bluetradesys/spark into development
2023-12-18 12:42:35 -05:00
Taha Afzal
a7189628b1
Adding EMA, SMA and RenkoStreams
2023-12-18 12:42:14 -05:00
John Colvin
32433577ec
fix build (client): Move a few includes inside 'if' ppd
2023-12-14 11:31:31 -05:00
John Colvin
ed5ef1b7c4
fix build: Remove a few RequiresPreviewFeatures attrs
...
Features which are now standard in .Net
2023-12-14 11:16:19 -05:00
Mohammad Arham
ac7c38d0e2
Merge branch 'development' of bitbucket.org:bluetradesys/spark into development
2023-12-13 21:06:41 -08:00
Mohammad Arham
b887f90b99
added book levels to mdrecorder
2023-12-13 21:06:19 -08:00
John Colvin
9a0ef90700
fix build (windows): Update fmt to v10.1.1
...
Manage this dep with vcpkg now (instead of externals)
2023-12-13 13:27:29 -05:00
John Colvin
5086e81578
build: Add vcpkg as submodule
2023-12-13 12:34:14 -05:00
Mohammad Arham
2230f8d748
emty string can also be default linfopath
2023-12-11 06:49:34 -08:00
Mohammad Arham
1fa66f4815
defaults updated to make glbx work on onix
2023-12-11 06:47:49 -08:00
Mohammad Arham
e5d19ceb8d
assert if channerls per thread < 1
2023-12-11 06:47:03 -08:00
Mohammad Arham
edda571509
added glbx config just to enable glbx
2023-12-11 06:45:36 -08:00
Mohammad Arham
55f20e5a09
Added entry for cme/onix in mdgateway
2023-12-11 06:43:05 -08:00
Taha Afzal
619b49ee6c
Changing the stream subscription structure
2023-11-15 12:30:43 +00:00
Taha Afzal
ab32055416
Adding C++ stream tables (and tests)
2023-11-14 21:53:54 +00:00
Taha Afzal
2ae3ded65e
src/DataStreamSuite/DataStream/Primitives/FileStreams/PlaybackStream.cs
2023-11-14 18:15:53 +00:00
Taha Afzal
4acb1e268a
Merging
2023-11-14 18:14:18 +00:00
Mohammad Arham
d45c79c44b
Merge branch 'development' of bitbucket.org:bluetradesys/spark into development
2023-11-02 07:46:49 -07:00
John Colvin
cba32be99d
fix build: Use relative path in csproj references
...
The build was broken because Spark.csproj was looking for SharedStreams
at some hardcoded path on taha's comp
2023-10-26 14:37:56 -04:00
John Colvin
292fa54dda
fix: Get rid of hardcoded path to dll
...
Use Assembly.Location instead
Bugs (fixed):
* PubSubServer throws an exception on startup because it can't find
dll at hardcoded path
2023-10-26 14:31:20 -04:00
John Colvin
3b059ebdfa
fix: Format arguments properly in DataStream code gen
...
Previously, all arguments were formatted as "Bts.DataStream.Argument"
(from the default ToString)
2023-10-26 14:24:32 -04:00
John Colvin
d0d3c9de4e
feat: Allow line-comments in DataStream parser
...
Supports c#/c++ style line comments (i.e., that begin with '//')
TODO: block comments
2023-10-26 12:59:44 -04:00
John Colvin
633163518a
fix: Fix divide token typo (should be fwd slash)
2023-10-26 12:59:44 -04:00
John Colvin
0a466052e0
cleanup: Remove old submodules (again)
...
* docker/linux
* docker/windows
2023-10-26 10:52:15 -04:00
John Colvin
7e139ddf0a
cleanup: Remove old submodule docker\linux (again)
2023-10-26 10:48:47 -04:00
John Colvin
dcac260efe
fix (hack): Pass lines as array to cloud stream
...
Rather than a single multi-line string. This hack will have to do
until we implement multi-line strings in the parser.
2023-10-25 17:42:59 -04:00
Taha
81ea106ce3
Fixing the DSQA query box font color
2023-10-23 15:18:44 -04:00
Taha
88bf04e5f1
TimeSeries and TimeBucketStreams, Stream offloading etc
2023-10-23 14:18:31 -04:00
Taha
33030b1212
Market data streams work now
2023-10-16 00:01:29 -04:00
Taha
140c0c4152
MDStream uses MarketDataClient instead of MDConsumer now
2023-10-03 18:35:23 -04:00
Taha
7d63718602
MDStream uses MarketDataClient instead of MDConsumer now
2023-10-03 18:35:23 -04:00
John Colvin
9cb94fabdb
fix: Add cross-type NumericComparer for BooleanExpressions
...
Bugs (fixed):
* FilterStream throws exception when comparing numeric arguments
2023-10-02 22:02:35 -04:00
John Colvin
e37a39f9fc
chore: Add SharedStreams to default loaded assemblies cfg
2023-10-02 21:03:54 -04:00
John Colvin
7e307504cb
chore: Remove redundant reference from csproj
2023-10-02 20:53:26 -04:00
John Colvin
d01809e49c
refactor: Move ProtoHelper to spark_api
...
So it can be used by other csprojs (was previously stuck in Spark)
2023-10-02 20:45:32 -04:00
John Colvin
292ed2dc0e
refactor: Convert WebsocketServerParams to proto
2023-10-02 20:45:32 -04:00
John Colvin
623fce6e8f
build: Enable nullable in proto generated cs
2023-10-02 20:45:32 -04:00
John Colvin
7d6d4c03b0
build: Update IronPython to v3.4.1
2023-10-02 20:45:32 -04:00
John Colvin
4962556a6c
build: Update protobuf-net to v3.2.26
...
Also update System.Collections.Immutable to v7.0.0 to new deps
2023-10-02 20:45:32 -04:00
John Colvin
5ad9d9a0e6
build: Update System.Reactive to v6.0.0
2023-10-02 20:45:12 -04:00
John Colvin
a091a95f50
build: Add .cmd wrapper script for build_data_stream.py
2023-10-02 19:38:38 -04:00
John Colvin
0bd06da929
build: Upgrade Google.Protobuf to 3.24.3
...
Now all csprojs are on the same Google.Protobuf version. Previously,
DataStreamSuite projs were on this (newer) version, while Spark projs
were on 3.21.12
2023-10-02 19:38:38 -04:00
Taha
af9dd0c1fe
PubSub Streams to get list of tags etc
2023-10-02 19:38:38 -04:00
John Colvin
fd9eaa65ed
build: Add script to build DataStreamSuite and cpp deps
2023-09-30 13:54:58 -04:00
John Colvin
1c744329e5
chore: Add SharedStreams.csproj bones
2023-09-30 13:08:03 -04:00
Taha
f8c9148609
Adding tests
2023-09-30 12:59:02 -04:00
Taha
fa4da63c24
Streams can be published across PubSub now
2023-09-30 12:59:02 -04:00
Taha
7bb7f1a5e2
PubSub is working now
2023-09-30 12:53:51 -04:00
Taha
3fa37397d9
AsyncTCPCOnnection2 done
2023-09-30 12:52:37 -04:00
Taha
d75f97ba1f
Both SImpleTCPClient and SimpleTCPServer use non async calls now
2023-09-30 12:52:37 -04:00
Taha
404698152e
Merging, and adding test project
2023-09-30 12:52:37 -04:00
John Colvin
9311c27f47
feat: Resurrect DataStream primitives
...
They were originally commented out because the expression parsing utils
weren't ready (now they are).
2023-09-29 13:10:50 -04:00
John Colvin
1dfc028554
fix (temp): Comment out TestPublisher in Program.Main
2023-09-29 13:10:50 -04:00
John Colvin
931c681174
fix build (DataStreamSuite): Change path sep to '\' in Build.targets
...
Csharp protobuf generation was failing, albeit inconsistently, with a
mysterious error message about normalizing relative/absolute paths.
2023-09-29 13:10:50 -04:00
John Colvin
f4568c3bb7
docker: Fix typo in README
2023-09-29 13:10:50 -04:00
John Colvin
126e3571df
docker: Restructure/clean up Dockerfile
...
Break up large RUN steps (where many apt pkgs are installed at once) to
smaller incremental ones. If 'docker build' fails on a particular RUN
step, it can be re-run from the last successful step, so smaller steps
better preserve progress.
2023-09-29 13:10:49 -04:00
John Colvin
6759ce3a2d
docker: Install latest cmake & node
...
The versions in the default apt repo are too old (need cmake >= 3.23,
node >= 16.0.0)
2023-09-29 13:10:49 -04:00
John Colvin
300a9b4eff
docker: Use ubuntu:latest instead of transient 22.10
...
'latest' guarentees we're on an LTS release
2023-09-29 13:10:49 -04:00
John Colvin
52bb54252d
gitignore: Add *.Generated.cs, *.lst
...
The Yacc code generator emits these files
2023-09-29 13:10:49 -04:00
John Colvin
b416209ca7
refactor: Add DataStream cfg protos
...
Translated from Edge config
2023-09-29 13:10:49 -04:00
John Colvin
bcd8aa3d80
refactor: Return fake data from myGetAllTagsStream
...
Until we port the actual impl from Edge
2023-09-29 13:10:49 -04:00
John Colvin
ed0be9162b
refactor: Move PrimitiveManager to DataStreamCore
...
So DSQA can reference it
2023-09-29 13:10:49 -04:00
John Colvin
54a6dca401
chore: Clean up leftover DataStreamGrammar dir
2023-09-29 13:10:49 -04:00
John Colvin
248e37577f
feat: Add DataStreamExpressions
...
All lex/yacc scanners/parsers are now generated with a proper dotnet
nuget pkg, YaccLexTools.
* Implements BooleanExpressionFilter with the new Parser.
2023-09-29 13:10:49 -04:00
John Colvin
ac1ede5986
refactor: Move a few low-level DataStream types to DataStreamCore
...
So the lex/yacc generators can reference them
2023-09-29 13:10:49 -04:00
John Colvin
d1f5ae86fd
chore: Get rid of BooleanExpressionsInterpreter csproj
2023-09-29 13:10:49 -04:00
John Colvin
094ea67e43
feat: Impl BooleanExpressions
2023-09-29 13:10:49 -04:00
John Colvin
ca95ab7a24
feat: Add ArithmeticExpressions csproj
2023-09-29 12:54:14 -04:00
John Colvin
e4f276be2a
refactor: Consolidate redundant HighPerformanceTimer classes
...
Move the one in Spark csproj to spark_core, and reference spark_core
in all the DataStreamSuite csprojs that need it.
2023-09-21 23:48:57 -04:00
John Colvin
a18521674e
fix: Only init static DataStreamLoadFileConfig once
2023-09-21 23:48:57 -04:00
John Colvin
d366ccc9c9
fix: Add simple null check
2023-09-21 23:48:57 -04:00
John Colvin
92e4b0a793
feat: Open gui when DSQA runs
2023-09-21 23:48:57 -04:00
John Colvin
56f7518186
chore: Uncomment DataStream Primitives code
...
It builds now that all the deps are in place
2023-09-21 23:48:57 -04:00
John Colvin
99ff8ac8dd
chore: Comment out refs to PublishedTagsStream
...
For the DataStream port
TODO: Port PublishedTagsStream from edge
2023-09-21 23:48:57 -04:00
John Colvin
0754b48d44
chore: Comment out refs to SitesCfg
...
For the DataStream port
TODO: Translate SitesCfg to protobuf to integrate w/ modern config
2023-09-21 23:48:57 -04:00
John Colvin
081e96bca6
build: Add GuiUtilities csproj
...
For the DataStream port (DSQA depends on this proj)
2023-09-21 23:48:57 -04:00
John Colvin
8665bfc2d2
fix build (wip): Disambiguate HighPerformanceTimer ref
2023-09-21 23:48:57 -04:00
John Colvin
725471a238
fix build: Add using System.Runtime to fix TimeSpan ref
...
This Windows type must have moved namespaces since the Edge days
2023-09-21 23:48:57 -04:00
John Colvin
d09c6ba543
refactor: Replace outdated DataGrid refs w/ DataGridView
...
Windows replaced the former with the latter in dotnet core 3.1
2023-09-21 23:48:57 -04:00
John Colvin
80c4542942
refactor: Replace old BlueEventLog w/ (Spark) Log
2023-09-21 23:48:57 -04:00
John Colvin
4446eb0412
chore: Get rid of redundant DataPacket.cs
2023-09-21 23:48:57 -04:00
John Colvin
71f642aef5
chore: Progress twds building DSQA
2023-09-21 23:48:57 -04:00
John Colvin
700bc45998
chore: Add DSQA (work-in-progress)
2023-09-21 23:48:57 -04:00
John Colvin
7cc7dd652f
chore: Add missing DataStreamExpression.parser(.cs)
2023-09-21 23:48:57 -04:00
John Colvin
9fdffdc648
chore: Remove redundant init calls
2023-09-21 23:48:57 -04:00
John Colvin
a3406279f9
fix build: Don't inherit build props/targets in WebApp build
...
The Directory.Build.props/targets files were recently moved up to the
'src' dir (from 'src/client') for the new DataStreamSuite sln. Evidently
this broke the WebApp build.
2023-09-18 05:03:11 +00:00
John Colvin
3ccda24e20
fix: Add missing venue cases in AdminWebApp
...
Coinbase and OKX
2023-09-18 05:02:12 +00:00
John Colvin
10085a4976
fix build: Don't copy 'sparkd.lic' in cmake install tgt
...
This was a license file for the emumba-deribit lib. We don't need it now
that the license check has been disabled.
2023-09-17 21:20:50 +00:00
John Colvin
78f41127fe
chore: Remove artifact from old web build (added by accident)
2023-09-17 20:09:59 +00:00
John Colvin
8c35d63ab8
chore: Remove empty dirs (added by accident)
2023-09-06 18:24:04 +00:00
Taha
797816be7e
Merging changes
2023-09-04 16:25:40 -04:00
John Colvin
c4216d2272
build: Configure DataStreamSuite cpp to only build on Windows
2023-09-03 14:16:33 -04:00
John Colvin
431dad7551
fix: Init logging/config in DataStreamPublisher entry pt
2023-09-03 14:16:33 -04:00
John Colvin
7a5025d9d9
build: Add spark_core and spark_api to DataStreamSuite sln
...
Although outside of the DataStreamSuite dir, they should be included
because some csprojs in the sln depend on them.
2023-09-03 13:53:07 -04:00
John Colvin
cc2959249e
build: Add lexer/parser.cs files to src ctrl
...
Move all lexer/parser files into a single dir, DataStreamGrammar, for
organizational purposes and to avoid dependency conflicts when
generating code. Note that we'll only need to regen cs if we modify the
parser/lexer files, which seems unlikely.
2023-09-03 13:53:07 -04:00
John Colvin
86a1695286
Add update-synth-strategy fn to SyntheticSecurityClient
2023-09-01 23:24:35 -04:00
John Colvin
4c1cbbe8fe
build: Remove unnecessary WorkingDirectory attrs
...
From the GenerateLexer/Parser targets
2023-09-01 12:48:18 -04:00
John Colvin
5081153db9
fix build: Don't explicitly include generated parser/lexer cs files
...
Since the files are generated in the source dir (not the build dir),
they are automatically included in the build. This removes a few
warnings abt duplicate symbols.
2023-09-01 12:46:21 -04:00
John Colvin
846ed05f76
chore: Remove redundant props in nested Directory.Build.props
2023-09-01 12:40:08 -04:00
John Colvin
3e9afea40a
refactor: Rename DataStream ExpressionSyntax/Parser -> Boolean
...
The DataStream name was causing confusion. The lexer/parser are both
part of BooleanExpressions csproj, so the Boolean name is appropriate.
2023-09-01 12:38:27 -04:00
John Colvin
cfa35fb5ce
fix build: Add dummy classes for DataStreamSuite
2023-09-01 01:39:15 -04:00
John Colvin
9e221cabc3
build: Add BooleanExpressionsInterpreter csproj
...
For the DataStream port
* Add Lexer/Parser build targets
* Update externals w/ lexer/parser generator deps
2023-09-01 01:28:40 -04:00
John Colvin
23c83c0fb6
fix: Skip 1st arg (exe-path) when parsing cmd line
...
This only applies to Spark.exe, where the args are obtained via
Environment.GetCommandLineArgs, rather than directly from a 'main' fn.
The former prepends the [Spark] exe path to the argv array from 'main',
which the CommandLine parser does not expect.
2023-08-29 00:31:02 -04:00
John Colvin
5368f25ed8
feat: Generate rich version w/ GitVersion.MsBuild pkg
...
Run one of our dotnet exes w/ '--version' to print info to console
2023-08-29 00:21:54 -04:00
John Colvin
bee76289ca
chore: Format csproj & fsproj files
2023-08-28 12:25:47 -04:00
John Colvin
1fcfc2886c
chore: Add displayName, description to cmake preset
2023-08-24 14:40:54 +00:00
John Colvin
83c35f55a3
build: Make DataStreamSuite build cross-platform
2023-08-24 14:40:15 +00:00
John Colvin
2f9f0108ef
build: Rename cmake scripts by platform client/server spec
...
Now that we've added another cmake preset (data-stream-suite) some
scripts (GetLinuxClient*.cmake) are shared by multiple presets.
2023-08-24 14:32:44 +00:00
John Colvin
75a1165923
build: Remove dotnet build tgt from CMakeLists
...
Calling 'dotnet build' from CMakeLists doesn't feel natural; it's
simpler to just run it from the cmd line, or in a script.
2023-08-24 04:22:40 +00:00
John Colvin
2d394b77f4
chore: Remove redundant flags from CMakeLists
...
They're already defined in CMakePresets
2023-08-24 04:22:40 +00:00
John Colvin
59e5727f71
fix build (api serv linux): Use cmake shared lib suffix var
...
This Makes code platform independent. The build was broken because it
was trying to copy a ".dll" file on Linux.
2023-08-24 04:22:40 +00:00
John Colvin
f5d2e98d4f
fix build (api serv linux): Fix cfg in CMakePresets
...
The api server linux config shouldn't inherit the spark (windows)
config; no reason to tether them together.
2023-08-24 04:11:47 +00:00
John Colvin
481f33c462
fix build (api serv linux): Fix link lib typo 'fmt' -> 'fmtd'
2023-08-24 04:04:39 +00:00
John Colvin
513bbeeaae
fix build (api serv linux): Revert primary ctr syntax
...
This is a new feat in cs lang version 12, which is only in preview mode.
Reverting the syntax change bc I couldn't get it to build on Linux.
2023-08-24 04:04:39 +00:00
John Colvin
0cade21f1d
build: Remove libspark from spark_client.sln
...
Libspark's inclusion in the sln file has become redundant now that
its bins are copied to the dotnet build dir as part of the CMake build
process. Unlike msbuild, dotnet doesn't integrate nicely with c++. It
seems better to keep c++ projects out of the sln.
2023-08-23 02:41:35 -04:00
John Colvin
7b284b40f7
fix build: Remove problematic generator expression
...
Just copy libspark.dll over to the dotnet build dir for now.
TODO: additionally copy pdb file for debug builds
2023-08-23 02:39:43 -04:00
John Colvin
e1b6971667
build: Greatly simplify build_spark.py
...
Make it a thin wrapper around dotnet/cmake clis
2023-08-23 00:46:21 -04:00
John Colvin
ecbae62d07
feat: Add bones for DataStreamSuite
...
TODO (Taha): Migrate source files from edge
2023-08-22 15:04:08 -04:00
John Colvin
8182b4b289
dev: Simplify sparkd build instructions
...
Restructure in style similar to Spark and Api Server build instructions
2023-08-22 14:38:39 -04:00
John Colvin
a644174601
dev: Add instructions to build spark in README
2023-08-22 14:38:39 -04:00
John Colvin
cf34c13f03
build: Replace build_api_server.py w/ cmake/dotnet clis
...
Add instructions to build the Api Server in README
2023-08-22 14:38:39 -04:00
John Colvin
126e84e4e8
build: Remove 'jobs' arg from CMake build presets
...
Modern CMake uses an appropriate number of jobs by default (I believe
the number of cores on the cpu)
2023-08-22 14:38:39 -04:00
John Colvin
5ffc83a237
build: Init SPARK_ENABLE_API_SERVER reguardless of platform
2023-08-22 14:38:39 -04:00
John Colvin
3082f5c8d9
build: Only build Admin Web App on Linux
2023-08-22 14:38:39 -04:00
John Colvin
f1cde451d8
build: Copy libspark to dotnet bin dirs in CMakeLists
2023-08-22 14:38:39 -04:00
John Colvin
6f0e0e5172
build: Add Spark.Api.Server to CMakePresets
2023-08-22 01:29:45 -04:00
John Colvin
b2d5ab5e03
chore: Add SyntheticSecurityClient to WebsocketDataSync
...
TODO (Arham): Integrate SyntheticSecurityClient w/ the websocket api
2023-08-21 15:35:03 -04:00
John Colvin
c3e098e27d
feat: Add SyntheticSecurityClient (for websocket api)
2023-08-21 15:05:37 -04:00
John Colvin
a930d2165a
refactor: Move SyntheticTuple to spark_api proj
...
Also clean struct up a bit and rename 'SyntheticSecurityTuple'
2023-08-21 15:05:37 -04:00
John Colvin
05cdfce9ce
fix: Add null checks to account for bad analytics exp params
...
The Spark client was throwing null ref exs after merging prod to
developement, likely because the param protos stored in db were invalid.
2023-08-11 11:42:29 -04:00
John Colvin
61c9d6b2d6
fix build: Sand rough edges after merge
2023-08-05 00:09:16 -04:00
John Colvin
7545d3fd5c
Merge remote-tracking branch 'origin/spark_crypto.prod' into development
2023-08-04 13:40:04 -04:00
John Colvin
04e0297e86
refactor: Simplify 'render_piq' by using common code
...
No need to re-invent the 'render_cells' wheel
2023-07-31 14:50:44 -04:00
John Colvin
562706b968
fix: Don't assume ladder row-data is sorted by price
...
Bugs (fixed):
* Ladder assert-crashes when rendering volume-at-price
Cause: The render routine expected items to be sorted by price, and
asserted as much (indirectly). In hindsight, this expectation placed
an unnecessary burden on the caller.
2023-07-31 14:20:08 -04:00
John Colvin
4195207a71
fix: Replace non-existent StaticResource w/ BTSColor
...
Bugs (fixed):
* The Activity Log window crashes immediately opened.
Cause: WPF throws an Exception because it fails to resolve the
StaticResources 'TextBox.BackgroundBrush', and
'TextBox.ForegroundBrush', as they are defined in Colors.xaml, which
is not imported by LogViewer.xaml.
I replaced the StaticResources w/ BTSColor extension (rather than
include Colors.xaml), because it is less error prone, and allows us
to keep colors organized in 1 place: BTSColors.cs.
I'm not sure how long the bug was around. It likely slipped through
the cracks because the ActivityLog window isn't used often.
2023-07-28 14:16:46 -04:00
John Colvin
71eb89b6a1
fix: Check 'HasQuantityDisplay' before accessing prop
...
Bugs (fixed):
* The PNL Summary window throws a null ref ex when the first row is
populated.
Cause: The SecurityMetadataImmutable's internal QuantityDisplay is
null. In other words, the mutable SecurityMetadata obj around which
it wraps has a null QuantityDisplay, which is not allowed since
Immutable protos (such as 'QuantityDisplayImmutable') must be
constructed w/ a non-null instance of their mutable counterpart.
* Implement same fix (pre-emptively) in ManualFillRow, and
OrderCompletedEventPredicate.
2023-07-28 14:01:57 -04:00
John Colvin
94e4a0b725
fix: Change bus data type to nullable immutable
...
Bugs (fixed):
* The InterpTheosServerPublisher throws a null ref during startup when it
accesses 'UsageList' from the VolSurfaceUsageTag data.
Cause: Immutable protos instantiated w/ the default ctr have an
invalid state, because the mutable (reference type) instance around
which they wrap is null. Since an immutable type's props are trivial
wrappers for this mutable instance, they throw a null ref if the
mutable instance is null.
2023-07-28 12:02:50 -04:00
John Colvin
40d1fe20e3
diag: Add detailed error logs to notification serv order handler
...
Maintain a circular buffer of the last N updates. Then if/when an
exception occurs, log the update sequence that led up to it.
2023-07-26 15:30:55 -04:00
John Colvin
2ed23159ca
style: Clean up jenkins build script
...
* Get rid of double backslashes in quoted paths to improve readability
* Call 'activate.bat' instead of 'activate' (official python docs say to
use the former)
* Add docs
2023-07-26 15:26:30 -04:00
John Colvin
faa8438adf
build: Make jenkins build script independent of working dir
...
This alleviates an unneccessary burden on callers (previously, it had to
be run from the repo root dir).
2023-07-26 11:59:03 -04:00
John Colvin
0b35c2ccde
fix: Add lock, try/catch in notification serv order handler
...
Brandon has been experiencing a crash on startup. The stack trace shows
this handler is throwing a duplicate-key ex on 'dictionary.Add' (unclear
why).
2023-07-26 00:55:50 -04:00
John Colvin
98eea0ef09
chore: Remove unused iface member
2023-07-26 00:13:22 -04:00
John Colvin
4bf237aebe
fix (pre-emptive): Guard against null/empty prices in LadderRender
2023-07-25 14:27:13 -04:00
John Colvin
da927adef4
fix: Check price is within ladder's range before rendering
...
Bugs (fixed):
The render routine was indirectly asserting that each item's price was
>= the ladder's min price. That seems like an inappropriate burden to
put on the caller. Now we filter these items out in the routine.
2023-07-25 14:24:16 -04:00
John Colvin
cf587e26d5
fix: Remove bad assert abt tickdiff in LadderRender
...
* The test condition was wrong in the first place
* Instead of assert/crashing, log a warning
2023-07-25 14:22:15 -04:00
John Colvin
9e4354fb55
fix buid: Don't goto ERROR just bc venv already exists
...
This seems like a typo
2023-07-18 23:40:18 -04:00
John Colvin
e6bb4c73a8
fix build (jenkins): Upgrade pip via 'python -m pip'
...
For some reason 'pip install --upgrade pip' works on my laptop, but fails on
the Jenkins box.
2023-07-18 22:53:32 -04:00
John Colvin
e43a2a4818
build: Add build script for new Jenkins (on aws)
2023-07-18 22:25:56 -04:00
John Colvin
cde0f44b7d
build: Default to Release cfg for 'publish' target
2023-07-18 22:25:06 -04:00
Taha
b07a1e2c74
Fixing the issues, where the theos are only published out by the vol surface owner
2023-07-18 20:40:59 -04:00
Taha Afzal
8376fce5fe
Merge branch 'spark_crypto.prod.vol_order' into spark_crypto.prod
2023-07-14 17:01:29 +00:00
Taha Afzal
d9e5c846c2
Adding more logs to VolAlgo
2023-07-14 16:57:55 +00:00
Taha Afzal
65736c13ef
VolAlgo completed
2023-07-14 03:54:14 +00:00
Taha Afzal
071c28e925
VolAlgo reflects its state correctly now
2023-07-10 03:20:05 +00:00
Taha Afzal
8355e3e1be
VolAlgo code complete - need to test
2023-07-09 04:21:42 +00:00
John Colvin
f9a6e0963c
chore: Remove Spark.Admin.WebApp
...
These files were added by accident (leftover from switching branches
from development -> spark_crypto.prod)
2023-07-06 14:52:57 +00:00
John Colvin
b2879837c6
chore: Remove devcontainer.json
2023-07-06 12:26:48 +00:00
John Colvin
0d03ddb009
Merge remote-tracking branch 'origin/spark_crypto.prod' into spark_crypto.tick_hotfix
2023-07-06 12:26:28 +00:00
John Colvin
a6dfa4ae80
fix: Don't show decimal BTC Futs/Spd qtys
...
They tick in multiples of 10, so decimal precision isn't needed
2023-07-05 18:20:53 -04:00
John Colvin
e66ec82ba8
hotfix: Setup default cfg for new Deribit price ticks
2023-07-05 18:19:49 -04:00
John Colvin
9ce5e971c6
fix: Fix typos in BTSColor paths in xaml
2023-07-05 18:11:40 -04:00
John Colvin
3e7cc49ebb
hotfix: Format text w/ RegionalTickFactors in PriceEntryControl
2023-07-05 18:11:40 -04:00
John Colvin
d07e68b6e2
hotfix: Use 1st leg's min price tick rule for Deribit combos
2023-07-05 18:11:40 -04:00
John Colvin
619ece2313
refactor: Consolidate impl for 'round_to_tick' overloads
...
Also add a 'decimal' overload for RegionalTickFactors. This is more work
for Deribit tick hotfix.
2023-07-05 18:11:40 -04:00
John Colvin
1dda9566f3
hotfix: Use '.' separator if tick unit is multiple of base
2023-07-05 18:11:06 -04:00
Taha
3704d1ed16
InterptheosServerPublisher is now opulated the newly added vol field in the PrecomputedTheoPoint proto
2023-07-05 14:41:31 -04:00
John Colvin
a524ca02a5
refactor: Change tick arithmetic to use int64
...
The tick count is "price / tick_size" and tick_size is usually < 1, so
the extra bits may be needed to avoid arithmetic overflow
2023-07-05 12:02:28 -04:00
John Colvin
3c97f2552b
fix build: Don't use libfmt or ranges in win cpp
...
I can't deal with this anymore. My build is suddenly broken on Windows
(for spark_crypto.prod branch). I assume they updated the compiler
in a way that isn't backwards compatible. Thanks Windows.
2023-07-05 11:58:14 -04:00
John Colvin
15b1d55ef1
fix build: Disable Binance md code on win
2023-07-05 11:58:14 -04:00
John Colvin
4e42c9f01b
test: Refactor tick tests for RegionalTickFactors
...
Gives us some peace of mind about the dynamic ticks hotfix for Deribit
2023-07-05 11:58:14 -04:00
John Colvin
76775f821a
hotfix: Support dynamic ticks in order ticket
2023-07-05 11:58:14 -04:00
John Colvin
e7088f6b1c
hotfix: Support dynamic ticks in ladder
...
Deribit now provides dynamic price ticks (a list of ticks per range).
https://www.deribit.com/kb/4-july-2023
https://www.deribit.com/kb/deribit-on-screen-options-tick-size-reduction
2023-07-05 11:58:14 -04:00
Taha Afzal
f2c3ff4be6
Adding vol to PrecomputedTheoPoint
2023-07-05 15:16:45 +00:00
Taha
1fb42ade59
Adding perf logs on the front end
2023-07-05 10:50:13 -04:00
Taha
129650e9d4
Only the skew owner publishes theos to the server
2023-07-05 10:50:13 -04:00
John Colvin
170a44ac04
fix: Check sign to tick in correct direction
...
Don't assume it's positive and blindly tickup
2023-07-03 22:34:46 -05:00
Taha Afzal
7e04f02327
Merge branch 'spark_crypto.prod.autofit' into spark_crypto.prod
2023-07-04 03:21:28 +00:00
Taha Afzal
abda2dbf97
VolSurfaces and achived theo history size is not mantained at runtime
2023-07-04 03:13:46 +00:00
Taha Afzal
ad1a45cf49
ArchivedTheos are truncated on a server start
2023-07-04 03:13:46 +00:00
John Colvin
e9abdd0ff2
chore: Remove unused fn 'gen_prices'
2023-07-03 12:30:03 -05:00
John Colvin
9254002318
fix: Check HasPrice/QuantityDisplay before accessing prop
2023-07-03 12:24:20 -05:00
John Colvin
596780b7f4
chore: Remove unused 'unit_quantity' prop
2023-07-03 12:22:37 -05:00
John Colvin
7ba061ac20
hotfix: Add cfg to account for new deribit tick format
2023-07-02 16:58:53 -05:00
John Colvin
f8e6b73714
fix: Add missing venues to switch statement
2023-06-26 17:34:52 +00:00
John Colvin
c01593d119
fix (ui colors): Cherry-pick synth editor dark theme from dev
2023-06-26 12:26:38 -04:00
John Colvin
dd53c149c0
fix: Fix typo in default cfg 'SPOT' -> 'SECURITY_TYPE_SPOT'
2023-06-26 15:39:47 +00:00
John Colvin
04b4efe1e1
Update externals
...
Addresses more trivial build errors after upgrading to C++ 20
2023-06-26 15:24:46 +00:00
John Colvin
81bafbe68d
fix build: Address trivial werrors after upgrading to C++ 20
...
All werrors were about implicit 'this' captures in lambdas
2023-06-26 15:24:46 +00:00
John Colvin
7ee95c55ab
build: Upgrade CLI11 to v2.3.2
2023-06-23 15:35:06 +00:00
John Colvin
87d67feff4
build: Upgrade (Linux) c++ to stdlib 20
2023-06-23 15:33:40 +00:00
John Colvin
d21ceddbb6
build: Upgrade (Windows) c++ to stdlib 20
2023-06-23 15:33:40 +00:00
John Colvin
4434df3d09
fix: Account for duplicate sec keys in 'normalize_drivers'
2023-06-23 15:33:40 +00:00
John Colvin
35916881c8
fix: Invalidate 'My Windows' module content on open (hover)
...
Bugs (fixed):
* My Windows module popup is always empty
Cause: The list of favorite windows is only evaluated on startup
(before the list has been properly initialized). Furthermore, even
if the list was initialized, it must be re-evaluated to account for
newly added/removed windows.
2023-06-23 15:33:40 +00:00
John Colvin
5230d6bab5
build: Clean up build_spark.py
2023-06-23 15:33:40 +00:00
John Colvin
68c3418c04
build (refactor): Upgrade libfmt from ~8.0.1 to 10.0.0
2023-06-23 15:33:40 +00:00
John Colvin
7bce9f8a7f
fix: Fix typo 'groups' -> 'currencies'
2023-06-21 11:07:47 -04:00
John Colvin
a5b988738f
chore: Add 'requests' module to py venv
...
This module is used to download files. It is required for the new
'install_fmt.py' script in externals.
2023-06-21 11:07:47 -04:00
John Colvin
53a4b61884
chore: Remove unused cmake var
2023-06-21 11:07:47 -04:00
John Colvin
7be111dc36
refactor: Use upper case http method name in ccapi params
2023-06-21 11:07:47 -04:00
John Colvin
0c5bd66cca
refactor: Improve logging sec parsing logs (binance futs)
2023-06-21 11:07:47 -04:00
John Colvin
b699c5a310
refactor: Simplify json impl w/ macros
2023-06-21 11:07:46 -04:00
John Colvin
af8850f4c0
fix: Gracefully handle REQUEST_STATUS msgs (from ccapi)
2023-06-21 11:07:46 -04:00
John Colvin
10e359d6b5
refactor: Remove unnecessary template param
2023-06-21 11:07:46 -04:00
John Colvin
b360881b8b
chore: Impl 'descriptor' switch case for all exchs
2023-06-21 11:07:46 -04:00
John Colvin
b250dc31d3
chore: Subscribe to BTC/USDC currencies in deribit md cfg
2023-06-21 11:07:46 -04:00
John Colvin
995df189ae
chore: Add OKX to symbols.conf
2023-06-21 11:07:46 -04:00
John Colvin
93739e7010
improvement: Show Venue/SecType names in logs (not numeric val)
2023-06-21 11:07:46 -04:00
John Colvin
bc42498d61
fix build: Disable ccapi/ftx
...
It appears that ccapi's ftx execution management code is broken (not that
it really matters, bc it's ftx). We prob should have already disabled this
disgraced exchange anyways.
2023-06-21 11:07:46 -04:00
John Colvin
2b95507c49
build: Better organize CMakeLists per-platform/project
2023-06-21 11:07:46 -04:00
John Colvin
ca8c3a18d7
build: Generate only necessary cs files for protos
...
Prior to this commit, proto files were added to csprojs via the Proto3
target. This target generated 4 files per proto:
.cs, .immutable.cs, .client.pb.cs, and server.pb.cs
For the (many) proto files that don't define services (just normal messages),
the .client/server.pb.cs files were unnecessary.
This commit splits proto-generation into 2 targets:
* ProtoService - same as the old 'Proto3' target (generates 4 files per
proto as described above).
* Proto - a new target that generates only .cs, and .immutable.cs files
2023-06-21 11:07:46 -04:00
John Colvin
e49066ffa7
fix build: Fix cacheVariables in CMakePresets
2023-06-21 11:07:45 -04:00
John Colvin
e3cd910acd
build: Use CMakePresets in build_spark.py
2023-06-21 11:07:45 -04:00
John Colvin
cb47177b8e
build: Remove unused 'link_build_dir' arg
2023-06-21 11:07:45 -04:00
John Colvin
fba00c9d51
fix build: Remove unused fn 'notnulld'
...
This fn broke the Spark release build due to an '#if DEBUG' ppd
2023-06-21 11:07:45 -04:00
John Colvin
af0b7d9146
fix build: Set cmake policy CMP0076 before target_sources
...
* Removes warning when configuring build on Windows
* Moves 'vs_filters.cmake' to 'cmake' dir (w/ other cmake scripts)
2023-06-21 11:07:45 -04:00
John Colvin
e0a8c476f6
build: Increase sparkd parallel jobs to 8
2023-06-21 11:07:45 -04:00
John Colvin
5acb8100de
devcontainer: Define env var 'XDG_CONFIG_HOME'
2023-06-21 11:07:45 -04:00
John Colvin
1c133e87e7
Update externals to get ccapi v5.45.2
2023-06-21 11:07:45 -04:00
John Colvin
8a8419576d
build: Add 'Debug (ccapi diag)' configuration preset
...
Simply a clang debug build w/ ccapi log level set to 'Trace' (instead of
'Debug')
2023-06-21 11:07:45 -04:00
John Colvin
4a28723adb
chore: Organize ccapi compile defs in CMakeLists
2023-06-21 11:07:45 -04:00
John Colvin
e482408f29
fix: Add 'notional' filter class to model binance md json
2023-06-21 11:07:45 -04:00
John Colvin
4dcc98ab1f
improvement: Check for empty str when parsing numbers (json)
2023-06-21 11:07:45 -04:00
John Colvin
ace0fc35a2
refactor: Don't log error in Price::from_json
...
These logs get noisy fast
2023-06-21 11:07:45 -04:00
John Colvin
c7d1eb00dc
refactor: Add TimeSpan, TimeStamp arithmetic
2023-06-21 11:07:45 -04:00
John Colvin
949c8e0a32
build: Enable boost-beast for ccapi
2023-06-21 11:07:45 -04:00
John Colvin
c2419b491a
fix: Ensure ccapi log filenames aren't deallocated
...
Logs are committed asynchronously, and since ccapi log filenames are
passed by value, we must store them somewhere
2023-06-21 11:07:45 -04:00
John Colvin
786322f397
feat: Add Okx md (ccapi)
2023-06-21 11:07:45 -04:00
Taha
09e2a1764f
Only the user with control over the volsurface can save it
2023-06-15 11:44:34 -04:00
John Colvin
a780668bce
fix: Ensure tick up/down values are within min/max bounds
2023-06-15 11:43:58 -04:00
John Colvin
5b79aeaa14
ui: Enforce min auto-fit period (30 secs)
2023-06-15 11:37:18 -04:00
John Colvin
049c006b5f
ui: Disable driver/atm pts moved auto-fit ui
2023-06-15 11:37:18 -04:00
John Colvin
6fdc344472
feat: Add 'acquire ownership' button to vs context menu
2023-06-15 11:37:18 -04:00
John Colvin
cb09b93553
chore: Rename ns bts.reactive -> Spark.Core.Reactive
2023-06-15 11:37:18 -04:00
John Colvin
21447d32e5
fix (vs ui): Only log 'is_dirty' changes for editable cols
2023-06-15 11:37:18 -04:00
Taha
28b03e1cd2
Only the user with control over the volsurface can save it
2023-06-14 22:23:45 -04:00
Taha
a7acb89c15
Fixing merge conflict
2023-06-14 15:57:42 -04:00
John Colvin
35289710ba
fix: Ensure tick up/down values are within min/max bounds
2023-06-14 14:20:47 -04:00
Taha
4677acfb39
Merge branch 'spark_crypto.prod.autofit' of bitbucket.org:bluetradesys/spark into spark_crypto.prod.autofit
2023-06-14 13:55:03 -04:00
Taha
ac05d0d69e
AutoFitter reads the settings from the settings now
2023-06-14 13:54:53 -04:00
John Colvin
25a9b6b433
fix: Ensure tick up/down values are within min/max bounds
2023-06-14 13:49:49 -04:00
John Colvin
b78713ad0d
ui: Enforce min auto-fit period (30 secs)
2023-06-14 12:59:40 -04:00
John Colvin
1f3d0e879c
ui: Disable driver/atm pts moved auto-fit ui
2023-06-14 12:59:39 -04:00
John Colvin
baad4dc68e
feat: Add 'acquire ownership' button to vs context menu
2023-06-14 12:22:57 -04:00
John Colvin
ef7c0c7a30
chore: Rename ns bts.reactive -> Spark.Core.Reactive
2023-06-14 11:39:06 -04:00
Taha
3b3c4a2a35
Merge branch 'spark_crypto.prod.autofit' of bitbucket.org:bluetradesys/spark into spark_crypto.prod.autofit
2023-06-14 10:21:55 -04:00
John Colvin
ef9fc66a31
fix (vs ui): Only log 'is_dirty' changes for editable cols
2023-06-14 09:44:42 -04:00
John Colvin
212d9c853b
fix: Init auto fit vals in vs settings editor
2023-06-14 09:09:34 -04:00
Taha
7815b18b6b
Merge branch 'spark_crypto.prod.autofit' of bitbucket.org:bluetradesys/spark into spark_crypto.prod.autofit
2023-06-13 22:34:12 -04:00
Taha
05126074d4
Enabling AutoFit
2023-06-13 22:34:07 -04:00
John Colvin
3611d2c1f3
fix: Enable tick up/down buttons for nullable uint32 ctrl
2023-06-13 15:43:33 -04:00
John Colvin
b5ad4b8104
feat: Add auto-fit ui for vs settings
2023-06-13 15:43:33 -04:00
Taha
43d7c0a2b5
Comments
2023-06-12 13:43:42 -04:00
Taha
12e361cec7
AutoFit based on a timer works now
2023-06-11 21:59:46 -04:00
John Colvin
a4b0f026f4
style: Don't use implicit ptr -> bool conversion
...
Check 'ptr == nullptr' instead.
2023-06-07 13:16:22 -04:00
John Colvin
59f65c32d8
refactor: Change if/else blocks to switch expression
2023-06-07 13:16:22 -04:00
John Colvin
ccec77f7d1
refactor: Fix typo 'uitilities' -> 'utilities'
2023-06-07 13:16:22 -04:00
John Colvin
1deeb85d22
improvement: Filter Deribit instrument reqs by regex cfg
2023-06-07 13:16:21 -04:00
John Colvin
648a32147a
refactor: Eliminate SecurityID dependency on JsonReader
...
It's a fundamental type, included by many source files. The fewer
dependencies the better.
2023-06-07 13:16:21 -04:00
John Colvin
806ddfc156
Update externals so ccapi Deribit sends heartbeats
2023-06-07 13:16:21 -04:00
John Colvin
05b5f22204
fix: Capture cfg by value in thread lambda
...
Bugs (fixed):
* A race crash occurs during startup, seems related to starting emumba
2023-06-07 13:16:21 -04:00
John Colvin
4f09d2cff1
refactor: Move Emumba deribit cfg to own proto
2023-06-07 13:16:21 -04:00
John Colvin
e1234fe583
fix: Fix typo in log helper script 'show_last_run.sh'
...
So it actually applies the 'num_lines' override arg
2023-06-07 13:16:21 -04:00
John Colvin
aa64dacd65
fix: Abort '_add_spread' if any leg secs missing
...
Bugs (fixed):
* Sparkd crashes occassionally during startup. The last logs suggest
it is related to adding Deribit spreads to shared mem.
2023-06-07 13:16:21 -04:00
John Colvin
10b062ebce
fix build: Fix typo in CMakePresets cfg profiles
2023-06-07 13:16:21 -04:00
John Colvin
e057057173
chore: Add replay/recording cfg to md_dev/prod profiles
2023-06-07 13:16:21 -04:00
John Colvin
82cec2672a
fix build: Fix typo in Venue enums in default confs
2023-06-07 13:16:21 -04:00
John Colvin
50184cd6ff
docker: Add hostRequirements, shm to devcontainer
...
The shm-size should be more than sufficient for general market data (the
default size of 64MB wasn't cutting it)
2023-06-07 13:16:21 -04:00
John Colvin
e64dc49a64
fix build: Respect cfg path order in gen'd defaults
...
The path order represents the value-inheritance hierarchy. This way,
values from files earlier in the path take precedence over those from
later files.
2023-06-07 13:16:21 -04:00
John Colvin
010bd53723
fix: Include 'id' member in equals impl
2023-06-07 13:16:20 -04:00
John Colvin
50ae7ca7f9
feat: Add Deribit md (ccapi)
2023-06-07 13:16:20 -04:00
John Colvin
995bbef878
refactor: Add currencies to SecurityCriteria proto
2023-06-07 13:16:20 -04:00
John Colvin
8c325e30be
improvement: Validate SecurityCriteriaClause proto
...
To ensure 'SecurityCriteriaClause::include' calls are reasonably cheap
2023-06-07 13:16:20 -04:00
John Colvin
6bb9b24210
feat: Add 'name_regexps' to SecurityCriteriaClause
...
This will allow us to filter out securities (instruments) at Deribit
(and likely other venues) BEFORE requesting their metadata. This
will be particularly useful when reacting to instrument state changes
(i.e., when a new instrument is added), which occur one instrument at
a time, and only provide the instrument's name.
2023-06-07 13:16:20 -04:00
John Colvin
df1c558c33
refactor: Shorten SecurityCriteriaClause var names
...
* Drop 'security_' prefix (considering the class name, it is redundant)
* Change 'descs' -> 'names'
2023-06-07 13:16:20 -04:00
John Colvin
357d245a4c
fix: Use JsonReader::read rather than nlohmann::get
...
The former is a more robust solution (logs exceptions, primitive string
conversion, etc.)
2023-06-07 13:16:20 -04:00
John Colvin
d43863ab59
refactor: Change BoolName cstrings to strings
2023-06-07 13:16:20 -04:00
John Colvin
89188acc7d
refactor: Define 'fmt' fns for a few md types
2023-06-07 13:16:20 -04:00
John Colvin
86a9fc0c83
chore: Add 'fmt' impl for domain::Security
...
This allows us to pass domain::Security to the LOG macro.
2023-06-07 13:16:20 -04:00
John Colvin
15579acd2a
fix build (web): Add missing Venue switch cases
2023-06-07 13:16:19 -04:00
John Colvin
411009c996
Update externals to get ccapi v5.45.1
2023-06-07 13:16:19 -04:00
John Colvin
17a4cce68b
refactor: Change 'Currency' from enum to string
...
It is an unnecessary burden to ensure the enum represents the union set
of currencies available at all suppported venues. The benefits of using
an enum are slim to none (it is practically unreferenced in code), so
the burden isn't justified.
2023-06-07 13:16:19 -04:00
John Colvin
adb36795a8
chore: Rename a few .conf files to snake case
2023-06-07 13:16:19 -04:00
John Colvin
691545b71a
refactor: Remove redundant sec type field
...
The Security class already has a 'type' fn that treats the type as a
function of the security variant. This is better than the 'type' field
in SecurityCommon, because it's naturally in sync with the variant.
2023-06-07 13:16:19 -04:00
John Colvin
31c7fa4f2c
fix (pre-emptive): Return 'UNSPECIFIED' if sec-type variant empty
2023-06-07 13:16:19 -04:00
John Colvin
86009c3cdb
refactor: Reduce Binance US dependency on Binance
...
There is some common code, but it seems like a good idea to keep
exchange-specific md impls modular/independent
2023-06-07 13:16:19 -04:00
Taha Afzal
c9392dd306
Adding multiple accounts to CCAPIExecutionGateway
2023-06-06 18:30:38 +00:00
Taha Afzal
ac8a6094fb
Cleaning up corrid generation
2023-06-06 18:30:38 +00:00
Taha Afzal
6dbe497013
Bug fixes
2023-06-06 18:30:38 +00:00
Taha Afzal
274aa9b17d
Error on order entry handled
2023-06-06 18:30:38 +00:00
Taha Afzal
d47e61ca57
CCAPISingleOrderManager state machine fixed
2023-06-06 18:30:38 +00:00
Taha Afzal
3078b918d2
CLeaning up
2023-06-06 18:30:38 +00:00
Taha Afzal
95e9a6e8aa
Sending RFQs now (combo creation not done)
2023-06-06 18:30:38 +00:00
Taha Afzal
1a3cf1dbea
OpenOrders are reported bck now
2023-06-06 18:30:38 +00:00
Taha Afzal
0d705eed1f
PositionRequest cleaning up and consolidating multiple messages (corresponding to different currencies) into one
2023-06-06 18:30:38 +00:00
Taha Afzal
1d28526792
Querying Positions and passing them to the client now
2023-06-06 18:30:38 +00:00
Taha Afzal
3ecf3dd048
OpenPositions and WorkingOrders queried from Deribit now
2023-06-06 18:30:38 +00:00
Taha Afzal
64ff79a38d
Passing config to connection config to CCAPIDeribitOrderMux
2023-06-06 18:30:38 +00:00
Taha Afzal
aba478f3dc
Adding meaningful correlation ids
2023-06-06 18:30:38 +00:00
Taha Afzal
1025881ec8
Stable CCAPI based Deribit execution using per instrument subscription - improvements needed
2023-06-06 18:30:38 +00:00
Taha Afzal
6d95a645e3
Deribit's option position request hooked up
2023-06-06 18:30:38 +00:00
Taha Afzal
4769f66eea
Adding some logs to SharedMemory and SharedList
2023-06-06 18:30:38 +00:00
John Colvin
82c126362d
fix build: Fix a few path errors in publish target
2023-05-31 22:13:52 -04:00
Taha
fd2ba70031
Culling the logs
2023-05-29 11:35:49 -04:00
Taha
ab410c339f
Order Tickets from the sheets are defaulted correctly now
2023-05-29 10:32:29 -04:00
Taha Afzal
9093c72646
Merge branch 'temp_arham' into spark_crypto.websocket-api.ccapi
2023-05-09 03:56:35 +00:00
arhamGIT
3a220b8320
Merge branch 'temp_arham' of bitbucket.org:bluetradesys/spark into temp_arham
2023-05-08 23:40:44 -04:00
arhamGIT
ac20f7c9dd
front end changes to make coinbase work
2023-05-08 23:40:28 -04:00
Taha Afzal
578146905e
coinbase working
2023-05-09 03:31:20 +00:00
arhamGIT
7f07f5a69b
Merge branch 'temp_arham' of bitbucket.org:bluetradesys/spark into temp_arham
2023-04-26 12:33:50 -04:00
arhamGIT
3dd7d0999e
merge
2023-04-26 12:33:32 -04:00
Taha Afzal
5076770d15
coinbase sec names showing in shrd mem
2023-04-26 16:27:34 +00:00
Taha Afzal
791446c514
changed to merge proto updates
2023-04-25 15:38:37 +00:00
Taha Afzal
66370bd541
Merge branch 'spark_crypto.websocket-api.ccapi' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.ccapi
2023-04-24 23:24:25 +00:00
Taha Afzal
cce8973e87
temp changes to make binance work
2023-04-24 23:19:15 +00:00
John Colvin
37dcd32c6b
fix (cli): Fix config --query output indentation
...
There are 2 spaces per indent level
2023-04-20 00:46:23 -04:00
John Colvin
d772958272
diag: Show file/line in Config logs
2023-04-20 00:46:23 -04:00
John Colvin
c85e221e9f
build: Automatically run build_spark.py in venv
2023-04-20 00:46:23 -04:00
John Colvin
28e95df5c6
refactor: Rename 'STOCK' -> 'SPOT'
2023-04-20 00:46:23 -04:00
John Colvin
8d84355d57
chore: Add Binance BTC qty formatting to default conf
2023-04-20 00:46:23 -04:00
John Colvin
5c25f9a3e5
refactor: Rename Venue/SecType enums according to conventions
...
https://protobuf.dev/programming-guides/style/#enums
2023-04-20 00:46:23 -04:00
John Colvin
c0980809c5
chore: Format .conf files
...
* Indent with 2 spaces
2023-04-20 00:46:23 -04:00
John Colvin
e946c6427e
chore: Rename Ports.conf -> ports.conf
...
This is consistent with proto file naming conventions recommended by
Google (snake_case)
2023-04-20 00:46:23 -04:00
John Colvin
58ccbe2b19
chore: Consolidate default md conf into one file
2023-04-20 00:46:22 -04:00
John Colvin
7519c0b63a
build: Update dotnet fable to 4.0.6
2023-04-20 00:46:22 -04:00
John Colvin
947c071cee
build: Remove unused cmake def
2023-04-20 00:46:22 -04:00
John Colvin
54018fcce7
refactor: Clean up 'PlatformLoader'
...
* Rename 'SymbolLoader'
* Consolidate complicated filter logic into one 'load' overload
refactor: Get rid of unnecessary PlatformConfig
2023-04-20 00:46:22 -04:00
John Colvin
4b85eb33f8
chore: Remove redundant Symbols.conf file
2023-04-20 00:40:56 -04:00
John Colvin
592cf54e94
chore: Remove irrelevant test for config fallback url
...
The 'fallback url' was removed from config a few months ago (this test should
have been removed with it)
2023-04-20 00:40:56 -04:00
John Colvin
b8368bf9fa
chore: Remove unused args/code
...
* Removes several 'if' blocks whose predicates were effectively compile-time
constants (i.e., unnecessary).
2023-04-20 00:40:50 -04:00
John Colvin
7d19ea84ab
chore: Remove redundant fn 'get_thread_name'
2023-04-18 23:57:24 -04:00
John Colvin
14651341c4
fix: Fix 'Replace' fn so it ONLY replaces val if key exists
...
Bugs (fixed):
* Spark (client) crashes anytime an order is canceled. Other changes
to existing orders can cause the crash as well, but cancelling does
so every time.
* Cause: The IObservable<Update<T, TKey>> 'Naggle' ext fn was broken.
Specifically, the KeyedValueCollection.Replace fn that 'Naggle' uses
was broken. Instead of only replacing values with existing keys, it
would add new keys as well.
2023-04-18 10:36:46 -04:00
John Colvin
681fbc6915
fix: Add 'spot' to sec type filter for preset algos
2023-04-18 00:12:46 -04:00
John Colvin
37d7f51d19
fix: Fix color-name typo in xaml
2023-04-17 23:53:51 -04:00
John Colvin
48eb0a2c9b
fix: Use qty display settings in order ticket bbo header
2023-04-16 12:53:04 -04:00
John Colvin
6d2cd54deb
fix: Init config w/ (optional) server arg in cli
2023-04-16 00:29:31 -04:00
John Colvin
2ec956b430
fix: Normalize cfg url path sep to '/' on Windows
...
Bugs (fixed):
* All client config overrides are ignored (even the '-configserver'
cli arg). Config overrides on the server appear to work, but they
aren't forwaded to the client.
Cause: cURL doesn't like the Window's path separator '\'
2023-04-16 00:13:42 -04:00
John Colvin
4f22ae04fe
diag: Add verbose logs during config init
2023-04-16 00:13:42 -04:00
John Colvin
7da82d8444
cli (spark): Add 'sparkd' opt, integrate w/ CommandLineParser
...
This replaces the old '-configserver' arg, which will continue to be
supported for backwards compatabilty.
2023-04-14 15:16:32 -04:00
John Colvin
d8611536ee
fix build script: Fix venv path
2023-04-14 15:16:32 -04:00
John Colvin
c94ffd1a56
cli: Add spark.console.cmd (alias for Spark.Console.exe)
2023-04-14 15:16:32 -04:00
John Colvin
cddf081e19
fix (cli): Read %~dp0 before SHIFT
...
I just discovered that, when SHIFT is run (the first time), the value of
%~dp0 changes from the script's parent dir to the current working dir
2023-04-14 13:18:28 -04:00
John Colvin
94071b4889
refactor: Move Spark cmd opts to own file
2023-04-14 13:18:28 -04:00
John Colvin
d7518cffe1
fix: Don't round ccapi book qtys to int
2023-04-14 17:07:25 +00:00
John Colvin
fa26ecaf67
fix: Fix typo 'BINANCE' -> 'BINANCE_US'
2023-04-14 17:07:25 +00:00
John Colvin
c2eaf00aaa
improvement (cli): Add spot & option to sec type choices
2023-04-14 17:07:25 +00:00
John Colvin
74be3ec9b9
improvement (cli): Dump md json via nlohmann/json
...
This is much easier to read than previous json format, which we
generated ourselves, though a bit more verbose.
2023-04-14 16:55:29 +00:00
John Colvin
967e3100d2
fix (cli): Fix shared mem dump path
2023-04-14 16:55:29 +00:00
John Colvin
b1d1243eae
refactor: Change lib::domain::Book qty type to float
2023-04-14 16:55:29 +00:00
John Colvin
72edd99cb0
chore: Get rid of old/unused code from Spartan
2023-04-14 16:55:29 +00:00
John Colvin
a512460396
diag: Log when quickbus starts/stops
...
Something is broken wrt port config on sparkd, and possibly spark
(client) as well. This might help track down the bug.
2023-04-14 16:54:17 +00:00
John Colvin
48ff593c2e
chore: Remove unused fns
...
Also stop exporting PlatformLoader type since it isn't used outside of cpp
2023-04-13 13:59:14 +00:00
John Colvin
d8fc99bca4
chore: Remove CMakeDeps that were accidentally added back
2023-04-13 13:59:13 +00:00
Taha Afzal
6a04759fe8
Merge branch 'spark_crypto.websocket-api.ccapi' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.ccapi
2023-04-12 10:28:44 -05:00
Taha Afzal
2cc07b71bd
Added some documentation to order_flow.txt
2023-04-12 14:21:27 +00:00
Taha Afzal
40bf117f6c
Execution config fixed
2023-04-12 02:34:37 +00:00
Taha Afzal
20209ef429
Merge branch 'spark_crypto.websocket-api.ccapi' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.ccapi
2023-04-11 16:38:47 +00:00
Taha Afzal
c30a7a29fd
Merging sim_execution
2023-04-11 15:34:20 +00:00
Taha Afzal
c6ae2ea038
temp changes to make ws work
2023-04-11 14:16:40 +00:00
Taha Afzal
f95715beec
Merge branch 'spark_crypto.websocket-api.ccapi' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.ccapi
2023-04-10 15:57:38 +00:00
Taha Afzal
0e85f4b9d5
Merge branch for 'spark_crypto.websocket-api.linux' into spark_crypto.websocket-api.ccapi
2023-04-10 15:55:46 +00:00
John Colvin
ab78ae867a
dev: Add docs for building/intellisense in VS Code
...
TODO: Add docs for building Spark on Windows
2023-04-10 11:55:13 -04:00
John Colvin
5e60f38b9b
build: Change CMakePresets build/install dirs to historic paths
...
<build|install>/<clang|gcc>/<debug|release>
2023-04-10 11:10:37 -04:00
John Colvin
8f4b4be6db
build: Fix CMakePresets build
...
Also drop 'spark_' in 'spark_admin_web_app_bundle' target. It's just too
long
2023-04-10 11:10:37 -04:00
John Colvin
696195aefd
docker: Rename repo 'bluetradingsystems/sparkd-dev'
...
The previous name, 'johncolvin/bluetradingsystems', was chosen in a
misguided effort to adhere to a naming convention recommended by Docker
Hub (https://docs.docker.com/docker-hub/repos/create/ ). In hindsight,
this convention isn't well suited to our use case. Our images are shared
by multiple users (e.g., sparkd dev users all use the same sparkd-dev
image), so it doesn't make sense to name the repository after an
arbitrary user.
2023-04-08 12:18:39 -05:00
John Colvin
36f0a544e9
fix (pre-emptive): Include <map> in header that uses std::map
...
The build wasn't broken, so any deps on members that use map must have
included 'map' themselves
2023-04-08 00:52:23 -04:00
John Colvin
f23242b18c
improvement: Only prepend venv to PATH once per shell
...
Even if build_spark.cmd is called repeatedly from the same shell. This
prevents PATH from growing too long (w/ repeating venv path entries)
2023-04-08 00:46:07 -04:00
John Colvin
75dd6d659b
chore: Remove old config defaults dir
2023-04-08 00:07:29 -04:00
John Colvin
a23d8228b4
chore: Remove unused spark_server.sln
2023-04-07 23:58:24 -04:00
John Colvin
59f3d54597
docs: Fix typo in readme
2023-04-07 23:57:44 -04:00
John Colvin
8b3166582d
refactor: Rename run_spark.cmd -> spark.cmd, add build-type arg
2023-04-07 23:55:12 -04:00
John Colvin
fd13316b8e
dev: Add c_cpp_properties.json and README for intellisense on win
2023-04-07 12:14:49 -04:00
John Colvin
5991ab03ec
Removing docker/windows submodule (was accidentally added back)
2023-04-07 12:14:49 -04:00
John Colvin
b9bc6184d4
diag: Add sym/type/exch to invalid sec channel log
2023-04-07 12:14:49 -04:00
John Colvin
aab3e836c3
fix: Add Spot -> Stock sec type conversion switch case
2023-04-07 12:14:49 -04:00
John Colvin
ed0fc60900
build: Clean up build_spark.py a bit
2023-04-07 12:14:48 -04:00
John Colvin
6764ae268e
Removing docker/linux submodule (was accidentally added back)
2023-04-07 12:14:48 -04:00
John Colvin
6d3d9ddacf
fix build: Fix merge errors (mostly trivial stuff)
2023-04-07 12:13:44 -04:00
Taha
ccd76ec284
Symbols.conf
2023-04-06 21:48:34 -04:00
Taha Afzal
d52ea0e997
Adding macro to stop MarketDataConfigUtils from building into windows
2023-04-07 01:41:06 +00:00
John Colvin
15e23fe486
fix: Remove 'run_emumba' from md/Run.cpp
...
MarketDataGateway manages emumba/deribit connections now
Bugs (fixed):
* An spdlog exception is thrown because the run_emumba thread spawns a
2nd emumba_logger.
Cause: The first emumba logger is spawned by the EmMDListener
instantiated in MarketDataGateway. We shouldn't be starting emumba
connections in 2 places.
2023-04-06 15:26:19 -04:00
John Colvin
d9e5b11026
fix: Disable MDPublisher thread (at least for now)
2023-04-06 15:07:46 -04:00
John Colvin
21c19c94c2
fix: Fix typo in config defaults
2023-04-06 14:58:59 -04:00
John Colvin
c31d9d6c72
Merge remote-tracking branch 'origin/spark_crypto.dev' into spark_crypto.websocket-api.linux
2023-04-06 14:44:22 -04:00
John Colvin
a7e89b075b
Merge remote-tracking branch 'origin/spark_crypto.ccapi' into spark_crypto.websocket-api.linux
2023-04-06 12:55:53 -04:00
arhamGIT
c0bb26e56f
Merge branch 'spark_crypto.websocket-api.linux' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.linux
2023-04-06 08:36:12 -04:00
arhamGIT
1e3e57b990
misc color changes
2023-04-06 08:35:46 -04:00
John Colvin
f50430e9e2
fix: Fwd ports in start_docker script
2023-04-06 00:02:53 -04:00
John Colvin
4891250959
docs: Add directions to create container from terminal
2023-04-06 00:02:53 -04:00
John Colvin
ad1b89ff88
docs: Add links to dev container docs in README
2023-04-05 23:50:38 -04:00
John Colvin
49053d31c2
chore: Remove docker build script
...
It's just as easy to run the docker build cmd manually
2023-04-05 23:05:50 -04:00
John Colvin
651ebdbb41
docs: Remove unnecessary sample code in README
2023-04-05 23:04:03 -04:00
arhamGIT
0b50d5b5f0
dark theme in create synthetic
2023-04-05 13:52:45 -04:00
John Colvin
9e3f16d8bc
fix build: Update externals so prod builds in new docker
2023-04-05 11:45:24 -04:00
John Colvin
a3f194d708
build (web): Upgrade web build to net7.0
2023-04-05 11:39:37 -04:00
John Colvin
d21de803f6
docker: Check if aliases.fish exists before sourcing it
2023-04-04 23:52:10 -04:00
John Colvin
bb81151392
docker: Remove unused opt from build script
2023-04-04 23:52:10 -04:00
John Colvin
2b277b84a2
docker: Improve devcontainer_post_create.sh
...
* Create fish config dir if it doesn't exist
* Ensure git is run from a dir inside the repo
* Add basic logs
2023-04-04 23:52:10 -04:00
John Colvin
2bf4502d06
docker: Add set_user/start_docker scripts
...
Leave the image's default user as 'root' so we can modify the non-root user's
uid/gid. This is a common technique used in containers to gain file permissions
in mounted dirs.
The default user's uid/gid can't be changed because a bash process runs under
their ownership as long as the container is up. A user's uid/gid cannot be
changed while that user owns a process (at least not via 'usermod').
2023-04-04 23:52:10 -04:00
John Colvin
94d1b9d784
improvement: Fwd ports in devcontainer, don't stop on close
2023-04-04 00:30:04 -04:00
John Colvin
ceee66d5f2
fix build: Add compile def 'SHARED_MEMORY_PREFIX' for win build
2023-04-03 19:30:14 -04:00
Taha Afzal
2e9a968752
Merge branch 'spark_crypto.websocket-api.linux' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.linux
2023-04-03 11:14:30 -05:00
John Colvin
6c2989b139
refactor (docker): Replace usermod cmds w/ opts in 'useradd'
2023-04-03 11:52:19 -04:00
John Colvin
6c2bfee616
fix (docker): Set default user without specific group
...
Bugs (fixed):
* The default user does not have sudo permission in the container,
unless the user is specified explicitly in the 'docker exec' cmd
(via -u <user>).
Cause: When the default user is specified with a specific group
(in this case, its namesake 'bts'), it is excluded from all other
groups, including 'sudo'.
2023-04-03 11:43:37 -04:00
John Colvin
30c5ea7fb2
chore: Name devcontainer scripts after associated json prop
2023-04-03 10:49:58 -04:00
John Colvin
a6831b5548
chore: Add devcontainer.json to bootstrap devcontainers
2023-04-03 10:49:58 -04:00
John Colvin
b42943fe8d
chore: Rename Docker image 'spark-dev' -> 'sparkd-dev'
...
This is a more accurate and appropriate name than 'spark-dev' because
the image is designed to build/run Sparkd and the Spark Api Server (both
of which are daemons, hence the appropriateness of the 'd' suffix). It
isn't designed to build/run the front-end desktop application, Spark.
2023-04-03 10:28:51 -04:00
John Colvin
06c833e96c
fix: Use correct prefix in md cleanup
...
Bugs (fixed):
* Assert crash in MDSource.h "Marketdata heartbeats are bad..."
Cause: The MD cleanup procedure, which is supposed to delete md files
from shared memory (from previous runs), wasn't deleting anything.
The file globbing pattern it was using (to determine which files to
delete) never produced any matches because it had the wrong prefix. As
a result, market data would often be loaded with a stale heartbeat
timestamp from a previous run.
Note: This occurred as a side effect of making the shared memory prefix
configurable when we ported the api server over to Linux (so the api
server and sparkd could run on the same container/machine whilst
maintaining independent shared memory files).
2023-04-03 10:28:51 -04:00
John Colvin
9aff02b225
chore: Remove unused docker scripts
2023-04-03 10:28:51 -04:00
John Colvin
4229a523a8
docker: Init devcontainer bashrc and config.fish
2023-04-03 10:28:51 -04:00
John Colvin
82e9e6b6bf
docker: Change default docker_user to "bts"
...
This way we can all use the same dev image. It also means one less
variable in our containers that paths/scripts need to account for.
VS Code can automatically update the remote user's uid in the container
to avoid permission issues in mounted dirs.
2023-04-03 13:48:43 +00:00
John Colvin
904a6db1d0
fix: Add Mercury default conf
...
The quickbus was essentially broken when running on the 'default'
defaults, for lack of a better word, because the ingoing/outgoing queues
in BrokerProxy would be initialized with size 0.
2023-04-03 13:48:16 +00:00
John Colvin
2a9f03741e
chore: Move docker files into main repo
...
Changes to Docker-related files/configuration don't occur in a vacuum.
They are made in coordination with changes to the main repository, so it
doesn't make sense to track them separately.
Note: Removing the 'windows' Docker files completely. No one has has
used them in a long, long time. The client build would be broken in
there anyways, the image is based on .NET Framework 3.5!
2023-04-03 13:48:16 +00:00
John Colvin
fd3de056c1
style (cli): Clean up 'key-code' cmd
...
* Rename 'key-code' -> 'key' (better grammar for the sub cmds)
* Rename 'key-gen' -> 'gen'
Now the 'key' cmds are 'sparkd key gen/encrypt/decrypt'
2023-03-31 05:00:07 +00:00
John Colvin
978a1e8566
dev: Integrate Docker w/ VS Code devcontainers
...
Hopefully this resolves all of the trouble/confusion in setting up
sparkd Docker containers
2023-03-31 04:59:58 +00:00
Taha Afzal
36e1771579
Merge branch 'spark_crypto.websocket-api.linux' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api.linux
2023-03-28 16:05:06 -05:00
John Colvin
0d23fd50f5
improvement: Indent protos in sparkd config cmd
...
So proto values are indented relative to the key, which is the type name
2023-03-28 10:45:03 -04:00
John Colvin
367c9c1c7c
chore: Include metrics.h in MDSource.h
...
This file was broken, as it defines methods that depend on metrics.h.
However, the build wasn't broken because references to such methods
are in files that happen to include metrics.h themselves.
2023-03-28 00:45:07 -04:00
John Colvin
78f5526ce7
refactor: Add spark_test, Spark.Console to Spark.Api.Server sln
2023-03-28 00:45:07 -04:00
John Colvin
a1d7ebd260
improvement: Lower 'finit_spark_lib' log level to Diag
2023-03-28 00:45:07 -04:00
John Colvin
3fda1cb369
improvement: Add null check for rule_desc in cfg lookup
...
It is possible rule_desc is null given an inappropriate field_name arg
2023-03-28 00:45:07 -04:00
John Colvin
2c2a68022b
improvement: Spruce up 'config' cli
...
It's naturally a bit messy because we expose the c++ cli to csharp, so
it can be invoked via Spark.Console (cs) or sparkd
2023-03-28 00:45:07 -04:00
arhamGIT
bb321926bc
names wkng in subs, examples working
2023-03-27 11:40:51 -05:00
John Colvin
45c35ba1b2
fix build: Fix install path issues in cmake
2023-03-26 13:44:25 -04:00
John Colvin
77c61d5e3f
fix build: Run dotnet tool restore when building webapp
2023-03-26 13:44:25 -04:00
John Colvin
12962ed5ca
Update docker/linux, and externals
...
* Fixes a few build dep issues
* Adds [docker] user in container, rather than image
* Automatically installs emumba libs when creating/starting new docker
containers
* Binds sparkd ports to the host so containers don't need to share the
host's network stack (allows us to run sparkd in containers in WSL)
* Adds flag to start_docker.sh to allow mounting existing dirs
* Improves start_docker.sh help text
2023-03-26 13:44:22 -04:00
John Colvin
f472db002c
feat (sparkd cli): Bring back 'web' cmd
2023-03-25 11:46:23 -04:00
John Colvin
6939f32f69
refactor: Rename 'web' -> 'Admin.WebApp' in CMakeLists
2023-03-25 11:43:29 -04:00
John Colvin
0107d934e5
fix: Resolve req paths correctly in Admin WebApp
2023-03-25 11:00:45 -04:00
Taha Afzal
ce9880a9b1
changed samples
2023-03-21 12:44:43 -04:00
Taha Afzal
317f17d7da
added examples
2023-03-21 12:39:58 -04:00
Taha Afzal
7da128da6b
removed allow all headers
2023-03-21 01:16:02 -04:00
Taha Afzal
f603866860
changed config to make on titan
2023-03-21 01:14:56 -04:00
John Colvin
dc2d525955
fix build: Reorder link libraries
...
For some reason, it the previous order of link libs caused an unresolved
external symbol related to open ssl (looks like a version macro)
2023-03-20 13:26:44 -04:00
John Colvin
e97335189a
refactor: Rename Spark.Admin.Console -> WebApp
...
This is a more appropriate name (it is a web app after all), especially
now that we've renamed sparkcmd -> Spark.Console (a literal console
app). The old name implies a parallel between the two apps that doesn't
exist.
2023-03-20 13:26:44 -04:00
John Colvin
81ce58268f
improvement: Clean up Spark.Console
...
* Reword cli verbs, opts, and help text
* Rename files, folders, and namespaces
* Run code formatter
2023-03-20 13:26:44 -04:00
John Colvin
7dace3fc1d
refactor: Rename sparkcmd -> Spark.Console
...
This is a more conventional name for a companion console app
2023-03-20 13:26:44 -04:00
John Colvin
f4794bea33
improvement: Add sparkd (config-server) opt to configcheck cli
2023-03-20 13:26:44 -04:00
John Colvin
b044ff3b2a
chore: Transcribe more proto2 defaults to .conf files
...
After upgrading to proto3
2023-03-20 13:26:44 -04:00
John Colvin
cd7856c46e
fix build (spark): Add DeploymentType proto to spark_core
2023-03-20 13:26:44 -04:00
John Colvin
3be0ee6072
refactor: Move LazyObservable to Spark.Core.Reactive
2023-03-20 13:26:44 -04:00
John Colvin
198d26fda1
refactor: Move ObservableExtensions to Spark.Core.Reactive
2023-03-20 13:26:44 -04:00
John Colvin
8b26ac4456
chore: Remove unused code
2023-03-20 13:26:44 -04:00
John Colvin
d6f172e953
refactor: Move KeyedValueSet to Spark.Core.Collections
...
Also rename to 'KeyedValueCollection'
2023-03-20 13:26:44 -04:00
John Colvin
91ee9b739a
refactor: Move ChangeDictionary to Spark.Core.Collections
2023-03-20 13:26:44 -04:00
John Colvin
b568128180
improvement: Set sys cfg build_type to release (if not debug)
...
For completeness sake
2023-03-20 13:26:44 -04:00
John Colvin
53a87530ee
refactor: Remove erroneous 'qualifier' field from SystemConfig
2023-03-20 13:26:44 -04:00
John Colvin
450de301a9
build: Generate tsconfig file in the build dir
...
It never should have been dumped in the source directory in the first
place.
2023-03-20 13:26:44 -04:00
John Colvin
462b0f4eda
build: Get rid of redundant py CMake utils
2023-03-20 13:26:44 -04:00
John Colvin
17402ce94a
refactor: Replace os::bts_data_path w/ SystemConfig::data_path
2023-03-20 13:26:44 -04:00
John Colvin
b7fae8a6f5
fix: Init quickbus node cfg w/ proper defaults
2023-03-20 13:26:44 -04:00
John Colvin
4058a98290
refactor: Rename .conf files w/ snake_case
...
To be consistent w/ corresponding .proto files
2023-03-20 13:26:44 -04:00
John Colvin
06d7693ed6
fix: Set hardcoded defaults for quickbus cfg
...
Remove these hardcoded vals once config defaults have been properly
refactored
2023-03-20 13:26:44 -04:00
John Colvin
2b01f3d902
fix: Ensure shared mem block size isn't 0
2023-03-20 13:26:44 -04:00
John Colvin
d231ee50b7
chore: Fill in tedious defaults for jetfix cfg
2023-03-20 13:26:43 -04:00
John Colvin
815546d5ab
fix build: Link appropriate libs for api server build
2023-03-20 13:26:43 -04:00
John Colvin
3fda0e4427
build: Add api server (dotnet) build tgt to CMakeLists
2023-03-20 13:26:43 -04:00
John Colvin
a1eec029ac
build: Only add sparkd related tgts if BUILD_SPARKD is true
2023-03-20 13:26:43 -04:00
John Colvin
2bbe92dbab
build: Add option to enable/disable building docs
...
We only need to build the docs for proper releases
2023-03-20 13:26:43 -04:00
John Colvin
b3d0040faa
build: Replace CMAKE_BUILD_TYPE refs w/ generator expressions
...
To support multi-config generators (e.g., Ninja MultiConfig)
2023-03-20 13:26:43 -04:00
John Colvin
c3e924be17
build (sparkd): Build server_layout target by default
...
The 'server_layout' was recently excluded from the default build target,
'all', because it depends on sparkd. The was done so we could optionally
configure cmake to build libspark without sparkd, as the new websocket
api server only depends on the former.
2023-03-20 13:26:43 -04:00
John Colvin
dc5574e660
build: Use generator expression in tsconfig path
...
This is the modern CMake way. It makes the code cleaner, and supports
multi-config generators
2023-03-20 13:26:43 -04:00
John Colvin
5c19b391b1
chore: Add 'bin' dir to gitignore
...
The IDE (vscode) generates a 'bin' dir in the Spark.Admin.Console proj.
Presumably, this happens because the out dir is specified as a command
line arg, rather than defined in a proj file, as is the case w/ the
Spark client build.
2023-03-20 13:26:43 -04:00
John Colvin
79cb3162f2
build: Stop tracking CMakeDeps files
...
Not sure why these files were tracked in the first place, but cmake
automatically detects changes to the source file glob. Perhaps they were
originally added because it didn't work on some older version of CMake.
2023-03-20 13:26:43 -04:00
John Colvin
e49254356a
chore: Update 'tsconfig.g' path in .gitignore
...
Should've done this when the 'src/web' was renamed 'Spark.Admin.Console'
2023-03-20 13:26:43 -04:00
John Colvin
3192ef5561
build: Link cmake out dir to dotnet out dir
...
So dotnet intellisense knows where to find generated source files
2023-03-20 13:26:43 -04:00
John Colvin
8158bcb4f3
fix: Remove symlink reguardless of source path's existence
2023-03-20 13:26:43 -04:00
John Colvin
b03cb94d60
build: Fix typo in msbuild prop
2023-03-20 13:26:43 -04:00
John Colvin
0f968c65b6
Fix client build after porting api server to linux
2023-03-20 13:26:43 -04:00
John Colvin
6b92773e87
build: Add quiet_exec.sh to build deps
...
This script probably won't ever change. Nevertheless, it is a dependency
of the admin console build.
2023-03-20 13:26:43 -04:00
John Colvin
870e1b7301
build: Use webpack mode equiv for debug/release build types
2023-03-20 13:26:43 -04:00
John Colvin
477a2f6da3
build (refactor): Rename build_web -> build_admin_console
2023-03-20 13:26:43 -04:00
John Colvin
85fe84406d
chore: Clean up build_web.py a bit
2023-03-20 13:26:43 -04:00
John Colvin
e8096a4db9
refactor (build): Consolidate web build into Spark.Admin.Console sln
2023-03-20 13:26:43 -04:00
John Colvin
e68e673835
refactor (build): Remove redundant CWD class
2023-03-20 13:26:43 -04:00
John Colvin
53274e865a
fix (pre-emptive): Fix CWD pop_path default value
...
In Python, default param values are evaluated once (not each time the fn
is called). This meant that, unless 'pop_path' was explicitly specified
in the CWD ctr, it wasn't necessarily the current working directory.
2023-03-20 13:26:43 -04:00
John Colvin
64df20cb36
refactor: Remove unused config-fallback path
...
This seems to have been here since the dawn of Spark. It is only
initialized via the -ConfigFallback option in the sparkd cli, an option
that no one ever uses (the cli provides no documentation for it either).
2023-03-20 13:26:43 -04:00
John Colvin
1977ad8ad4
build (web): Upgrade web build to net7.0
2023-03-20 13:26:43 -04:00
John Colvin
a7e63d02e9
refactor: Use 'preferred_separator' when normalizing path
...
So callers don't have to provide the platform-dependent separator arg
2023-03-20 13:26:43 -04:00
John Colvin
593be8d069
diag: Log error on login fail
2023-03-20 13:26:43 -04:00
John Colvin
f7e173f902
refactor: Enable MDConsumerInterop for api server build
2023-03-20 13:26:43 -04:00
John Colvin
7eefae4c42
diag: Add config logs
...
This may be temporary, but we should keep them until we know the new
proto3 configs are solid
2023-03-20 13:26:43 -04:00
John Colvin
7bb0951169
feat: Add dump-books/securities cmds to api server cli
2023-03-20 13:26:43 -04:00
John Colvin
787fb879d2
refactor: Make TickUtils public
2023-03-20 13:26:43 -04:00
John Colvin
c23dafcb89
refactor: Overload subscription fns w/ filter delegate
...
Makes the impl more robust, as there is no reason the filter must be
tied to a specific type of filter object
2023-03-20 13:26:43 -04:00
John Colvin
111278b63b
refactor: Make SecurityCriteriaExtensions public
2023-03-20 13:26:43 -04:00
John Colvin
2008478378
fix (pre-emptive): Fix typo (check val == 1, not 0)
...
Bugs (fixed):
The IObservable.StopAfter ext fn never actually stops the sequence
(even after the timeout expires).
2023-03-20 13:26:43 -04:00
John Colvin
d5de60bc21
refactor: Move TableFormatter into spark_core
2023-03-20 13:26:43 -04:00
John Colvin
76172d0a5f
fix: Align first item with others in TableUpdate description
2023-03-20 13:26:43 -04:00
John Colvin
1893df1f5c
improvement: Lookup key rather than iterate through items
2023-03-20 13:26:43 -04:00
John Colvin
a07fa26bfe
fix: Pass BlitUserSymbol by val to cpp
...
This is a csharp/cpp interop method. The csharp delegate, which is passed
to and eventually invoked from cpp, accepts this param by value already,
but for some reason the corresponding cpp delegate accepts that same
param by ref. While working to enable the api server build on Linux, I
discovered this delegate was receiving bogus data from cpp. The problem
went away when I changed the cpp delegate param to be passed by value,
rather than ref.
2023-03-20 13:26:43 -04:00
John Colvin
41447067a2
fix: Pass non primitive args by ptr in native interop
2023-03-20 13:26:43 -04:00
John Colvin
1dd3d39a21
fix: Add nullcheck in FlattenTableSeries
2023-03-20 13:26:43 -04:00
John Colvin
4f772a1d57
build: Don't explicitly set GENERATED True for gen'd protos
...
CMake does this automatically now (as of version 3.20). Also, for some
reason unbeknownst to me, cmake doesn't clean the generated proto files
when they are explicitly marked as such.
2023-03-20 13:26:43 -04:00
John Colvin
97bd49d221
fix (py): Ensure 'PathOrNone.path' is actually Path or None
2023-03-20 13:26:43 -04:00
John Colvin
b4374cec6b
build: Add script to build api server
2023-03-20 13:26:43 -04:00
John Colvin
7e5c1218a3
build: Make app-data, shared mem paths configurable via CMake
...
This allows sparkd and the api server to run simultaneously in the same
docker, w/ independent data (on disk)
2023-03-20 13:26:43 -04:00
John Colvin
475970659c
fix: Rename Logging.conf lowercase to match .proto
...
Now that we run csharp on Linux, case sensitivity matters
2023-03-20 13:26:43 -04:00
John Colvin
e0706dde01
refactor: Move DeploymentType cfg to its own file
2023-03-20 13:26:43 -04:00
John Colvin
986ea74e63
fix: Call Enumerable.FirstOrDefault explicitly in overload
...
Bugs (Fixed):
* StackOverflow ex is thrown in EnumerableExtensions.FirstOrDefault
(custom overload by us) when the 'predicates' param is empty
Cause: Our FirstOrDefault overload was calling itself (recursively),
rather than System.Linq.Enumerable.FirstOrDefault
2023-03-20 13:26:43 -04:00
John Colvin
fa0e6f7c10
fix: Get rid of 'Press any key to cancel' prompt
...
Console.Read throws an exception when running on linux. Furthermore, the
process can still be killed w/ ctrl+c so this doesn't remove any
functionality.
2023-03-20 13:26:43 -04:00
John Colvin
ea5156122c
refactor: Init ServiceContext & login outside of data sync
...
The login process is asynchronous, so it doesn't really fit in the
(synchronous) 'WebsocketDataSync.init' fn. This also reduces some state
in WebsocketDataSync, which is always a good thing, as it makes the
ServiceContext member readonly, and allows it to assume the user is
already logged in.
2023-03-20 13:26:41 -04:00
John Colvin
97b974a31f
refactor: Clean up ServiceContext a bit
2023-03-20 13:23:49 -04:00
John Colvin
ef98682620
refactor: Add IServiceProvider interface to Spark.Api
...
Designed to resemble Microsoft's well-known interface,
System.IServiceProvider
2023-03-20 13:23:49 -04:00
John Colvin
d70eb158c4
build: Upgrade Google.Protobuf to v3.21.12
2023-03-20 13:23:49 -04:00
John Colvin
6fc34e922a
build: Remove unused msbuild Item Proto3Excel
2023-03-20 13:23:49 -04:00
John Colvin
fe65554c7a
build: Add linux/windows OS conditions to msbuild props
2023-03-20 13:23:49 -04:00
John Colvin
78d9b678a8
build: Consolidate Proto3 output paths to OutDir & CSName
...
Unf, CSName is necessary because protoc converts .proto filenames to
TitleCase when generating .cs files. The other generated files
(client.pb.cs, server.pb.cs and immutable.pb.cs) don't have this problem
because they are generated with our own custom plugin.py, which gives us
control over the generated filename.
2023-03-20 13:23:49 -04:00
John Colvin
88302c9470
build: Upgrade TargetFramework to net7.0
...
We've been using several net7.0 preview features for a while now. Now that a
stable net7.0 release is available, it is time upgrade officially. This also
aids the effort to build csharp on Linux, where these preview features didn't
work out of the box. Lastly, trying to make these preview features work would
be a waste of time, as namespaces/interfaces in the official release have
changed in a way that isn't backwards compatible w/ the preview features.
2023-03-20 13:23:49 -04:00
John Colvin
ac6c9e5c46
fix: Fix typo (make prop static)
2023-03-20 13:23:49 -04:00
John Colvin
b1de323151
build: Use lower case exts in msbuild Directory.Build files
...
This is necessary now that we are building csharp on Linux, where, unlike
Windows, paths are case-sensitive.
2023-03-20 13:23:49 -04:00
John Colvin
24e57872ce
build: Add Spark.Api.Server sln
...
This sln contains the csprojs needed to run the websocket api server on
linux. Like the spark_client sln, it also depends on libspark.
2023-03-20 13:23:49 -04:00
John Colvin
ddd3f301b3
chore: Remove obsolete proto messages
2023-03-20 13:23:49 -04:00
John Colvin
7007fc9d6b
chore: Remove obsolete proto option 'cc_enable_arenas'
2023-03-20 13:23:49 -04:00
John Colvin
7ca407fc42
chore: Translate proto2 default vals to .conf files
...
All proto2 config was just upgraded to proto3, which doesn't support
default values
2023-03-20 13:23:49 -04:00
John Colvin
5217e8801e
Update externals to get new proto v21.12 (windows)
2023-03-20 13:23:48 -04:00
John Colvin
ddd50cd916
build: Remove unused build prop 'protogen'
...
This was only needed to generate proto2 csharp classes, which were all
just upgraded to proto3
2023-03-20 13:23:48 -04:00
John Colvin
9ae3ababfa
build: Remove proto2 target/props from cs build
...
Don't need them now that all cfgs have been upgraded to proto3
2023-03-20 13:23:48 -04:00
John Colvin
753cac0e7a
refactor: Make proto-generated c# classes public
...
Two partial class defs are generated per proto. While the 'main' def was
already public, the shorter one in 'immutable.cs' was not.
2023-03-20 13:23:48 -04:00
John Colvin
6c3c9ebbcb
refactor: Convert ui cfg to proto3
2023-03-20 13:23:48 -04:00
John Colvin
3aaa25a3e8
refactor: Convert toggles cfg to proto3
2023-03-20 13:23:48 -04:00
John Colvin
3fc0bce1de
chore: Remove unused file
2023-03-20 13:23:48 -04:00
John Colvin
fdb4544cb5
refactor: Convert various proto2 cfgs to proto3
2023-03-20 13:23:48 -04:00
John Colvin
f5741d8095
refactor: Convert system/logging cfg to proto3
2023-03-20 13:23:48 -04:00
John Colvin
539d1cfeae
build: Add option to use clang-13 explicitly
2023-03-20 13:23:48 -04:00
John Colvin
c1ed79757c
Upgrade linux protobuf from 3.19 -> 4.21.12
2023-03-20 13:23:48 -04:00
John Colvin
c37727f482
Update externals to get emumba-deribit v3.3.1
2023-03-20 13:23:48 -04:00
John Colvin
b25cd39481
fix build (linux): Update externals to support clang13, gcc12
...
Fixes the Release build (Debug was okay)
2023-03-20 13:23:48 -04:00
arhamGIT
5f93bed074
order update working
2023-03-20 16:13:50 -04:00
John Colvin
bf87c46fcd
fix build: Remove inappropriate ThreadStatic attr
...
This has likely been incorrect for a while. The problem surfaced after
upgrading to net7.0, as the new framework emits a warning (CA2259) when the
attribute is associated with a non-static field.
2023-03-07 16:30:59 -05:00
John Colvin
222d4b266e
build: Disable warning cs8981
...
This is a new warning, introduced in net7.0, that disallows lowercase
class names. Our spark_crypto.prod branch currently uses protoc v3.19.1,
which is incompatible with this new warning, as it generates
classes with lowercase names. We can re-enable the warning when we
upgrade protoc to 3.21.12 (this has been done in the api server branch).
2023-03-07 16:25:21 -05:00
John Colvin
d593eaf058
build: Upgrade TargetFramework to net7.0
...
We've been using several net7.0 preview features for a while now. Now that a
stable net7.0 release is available, it is time upgrade officially. This also
aids the effort to build csharp on Linux, where these preview features didn't
work out of the box. Lastly, trying to make these preview features work would
be a waste of time, as namespaces/interfaces in the official release have
changed in a way that isn't backwards compatible w/ the preview features.
2023-03-07 16:17:39 -05:00
arhamGIT
ef9502c81b
order entry working
2023-03-03 17:17:23 -05:00
arhamGIT
4b2c2de990
id changed to string
2023-03-02 10:32:08 -05:00
arhamGIT
79dc76c5df
added entry point for taha
2023-02-28 10:14:28 -05:00
Taha Afzal
eaa6493ce1
Deribit production markets can work with SimExecution
2023-02-27 20:54:43 -05:00
Taha Afzal
9fd0df2a13
SimExecution can be turned on from config now
2023-02-27 15:44:58 -05:00
arhamGIT
fdbc64dfc5
basic order(lim/mark/ib) entry/deletion working
2023-02-27 13:45:45 -05:00
Taha Afzal
d272612c6c
Removed SimExecutionGateway's dependency on MDClient
2023-02-26 23:04:08 -05:00
Taha Afzal
77408c8c5e
Fixed Self matching
2023-02-26 22:29:10 -05:00
Taha Afzal
09958eb333
SimExecutionGateway can not reflect the trades permenantly in the books
2023-02-24 11:06:26 -05:00
Taha Afzal
fdb7bbdac2
SimExecutionGateway can now deal with books with 0 qty levels
2023-02-23 15:51:36 -05:00
Taha Afzal
a7f24e84e4
Fills are now generated for SimExecutionGateway
2023-02-23 14:21:07 -05:00
Taha Afzal
7e5c71f337
SimExecutionGateway almost working
2023-02-23 13:43:09 -05:00
arhamGIT
62c20c96b4
forgot one file from last commit
2023-02-21 09:21:55 -05:00
arhamGIT
6b491ec209
strig list working
2023-02-21 09:16:43 -05:00
arhamGIT
d009deea0e
added list comprehension
2023-02-20 09:15:41 -05:00
Taha Afzal
bed6feae3f
Simplified SimExecutionGateway by combining order actions and matching into one
2023-02-19 00:49:30 -05:00
Taha Afzal
d508d34a3a
Completed books/order matching tests for SimExecutionGateway
2023-02-14 23:17:49 -05:00
Taha Afzal
5904bab03e
Fixing bug with order crossing market in SimExecutionGateway
2023-02-14 16:21:57 -05:00
Taha Afzal
fc9519cde3
Tests completed for working orders in the book (for SimExecution)
2023-02-14 10:06:53 -05:00
Taha Afzal
2dc823a6ac
Added all the stateless book/order matching functions, and a few test cases
2023-02-13 20:09:47 -05:00
arhamGIT
390d901463
hooked subscriptions up
2023-02-13 11:50:27 -05:00
Taha Afzal
ae9366f44a
Adding comments and cleaning SimExecutionGateway
2023-02-12 21:27:54 -05:00
Taha Afzal
db344656e5
Adding matching logic to SimExecutionGateway
2023-02-09 22:45:58 -05:00
Taha Afzal
ac31deed5b
Fixed Jetfix conf, and added some logs to SimExecutionGateway
2023-02-08 14:08:38 -05:00
John Colvin
a0bd207d93
feat (internal): Add price stats to md client
2023-02-08 00:33:10 -05:00
John Colvin
d62f88691c
feat (internal): Add price ticker to md client
2023-02-08 00:23:41 -05:00
John Colvin
b7c018b664
chore: Remove generated csproj file that was added by accident
2023-02-08 00:23:41 -05:00
John Colvin
55d021ccb1
fix build (publish): Copy libspark.dll to publish dir
...
Bugs (fixed):
* Spark.exe generated by the installer crashes immediately on launch because
it cannot find the libspark.dll.
Cause: Sure enough, libspark.dll isn't in the install folder
(AppData\Roaming\bts\Spark)
* Build libspark explicitly
* Fix libspark.dll copy src path
2023-02-07 16:41:11 -05:00
Taha Afzal
60cde0712f
Streamlining MarketDataGateway further - all sources are started independently of each other now, with their own GeneralMarketDataListener
2023-02-07 11:59:11 -05:00
arhamGIT
83127523b9
Merge branch 'spark_crypto.websocket-api' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api
2023-02-07 10:51:40 -05:00
arhamGIT
86c824e28d
changed made to make js client work
2023-02-07 10:51:29 -05:00
arhamGIT
0349ff95bf
book subscription working
2023-02-07 10:51:09 -05:00
Taha Afzal
c20f017069
Simplified MarketDataGateway to deal with multiple market data producers as start-and-forget
2023-02-06 21:27:41 -05:00
John Colvin
f62c867a20
feat (internal): Add trades md client
2023-02-06 19:42:43 -05:00
John Colvin
b403cacb93
refactor: Simplify TradesSource SecurityCriteria filter
2023-02-06 19:42:43 -05:00
John Colvin
4499a3751f
refactor: Move TradesSource to spark_api
...
So it can be used in the new websocket api
2023-02-06 19:42:43 -05:00
John Colvin
6d887cb72f
refactor: Get rid of redundant Product struct
2023-02-06 19:42:43 -05:00
John Colvin
10e13dd51d
refactor: Rename 'market_data' -> 'books'
2023-02-06 18:18:53 -05:00
Taha Afzal
5122038d21
Fixing windows side build
2023-02-06 15:21:51 -05:00
Taha Afzal
3039df56a0
Hooking up SimExecutionGateway to GeneralMarketDataListener
2023-02-06 14:04:57 -05:00
arhamGIT
85edf68ff0
secuirties working
2023-02-06 09:43:47 -05:00
arhamGIT
259ac99cdd
books working
2023-02-06 09:25:12 -05:00
arhamGIT
39c3a34158
Merge branch 'spark_crypto.websocket-api' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api
2023-02-06 09:21:04 -05:00
arhamGIT
dde8223052
books working
2023-02-06 09:05:32 -05:00
Taha Afzal
4dc675eb9c
Getting rid of Jetfix's platform, using Security.proto's exchange
2023-02-05 20:24:29 -05:00
John Colvin
2548f27527
feat (internal): Add manual fills to orders client
2023-02-04 10:36:31 -05:00
John Colvin
ff03f092f5
chore: Remove useless white space
2023-02-04 10:36:31 -05:00
John Colvin
53ef67869b
refactor: Support null filters in orders client
2023-02-04 00:35:43 -05:00
John Colvin
d48f34d109
feat (internal): Add fills to OrdersClient
2023-02-04 00:35:42 -05:00
John Colvin
a2d9c39325
feat (internal): Add securities to md client
2023-02-04 00:32:29 -05:00
John Colvin
0c4f684036
improvement: Include qty display w/ BookTuple
...
This is needed to properly format json for websocket api
2023-02-04 00:09:24 -05:00
John Colvin
e587c8dbd7
refactor: Rename IncrementalMarketDataClient w/out Incremental
2023-02-04 00:09:24 -05:00
John Colvin
069ab45164
improvement: Provide order updates w/ corresponding root order
2023-02-04 00:09:24 -05:00
John Colvin
7b7de6f8fc
refactor: Move long 'RootDependent' lambda into own class
2023-02-04 00:09:23 -05:00
John Colvin
9ed3b2aecb
refactor: Return IConnectableObservable in TableUpdate.Cache
...
We were hiding the fact that an IConnectableObservable was being used
internally. Even worse, we were discarding the IDisposable returned from
its 'Connect' fn.
2023-02-04 00:09:23 -05:00
John Colvin
ecf3f922df
refactor: Replace OrderSecurity refs w/ OrderRecordTuple
...
The latter type was introduced to support the websocket server. Unlike
the old 'OrderSecurity' types, it has no wpf deps, and can thus be built
on Linux
2023-02-04 00:04:43 -05:00
John Colvin
1aa283fc8c
chore: Make AlgoID type public
...
It's referenced by outside projects, namely Spark. The build would have
been broken were it not for the 'InternalsVisibleTo' attribute.
TODO: Remove all 'InternalsVisibleTo' attributes (they smell hacky)
2023-02-04 00:04:43 -05:00
John Colvin
bfbf640986
refactor: Move AccountSecurityKey to spark_api
2023-02-04 00:04:43 -05:00
John Colvin
b6cd470ca6
refactor: Move AlgoDefinitionMetadata to spark_api
...
Part of larger effort to move deps from Spark to linux compatible projs
2023-02-04 00:04:43 -05:00
John Colvin
d826cff9d7
chore: Remove unused code
2023-02-04 00:04:42 -05:00
John Colvin
ff65a5ca5b
refactor: Get rid of old MarketDataClient in sdk examples
2023-02-04 00:04:42 -05:00
arhamGIT
9e012a2b3a
Merge branch 'spark_crypto.websocket-api' of bitbucket.org:bluetradesys/spark into spark_crypto.websocket-api
2023-02-02 11:29:04 -05:00
arhamGIT
a6f1c51539
changes suggested by john for sub hdlr
2023-02-02 11:27:13 -05:00
John Colvin
655f27543b
refactor: Include security w/ book data
2023-02-01 15:16:08 -05:00
John Colvin
762baca586
improvement: Add Errors enum mapped to exit code
2023-02-01 15:16:08 -05:00
John Colvin
ec769b49f6
feat (internal): Add expirations to SecurityCriteria
2023-02-01 15:16:08 -05:00
John Colvin
5153e8725c
refactor: Replace terse null/empty checks w/ is_null_or_empty
2023-02-01 15:16:08 -05:00
John Colvin
f79f2cc5b9
chore: Add NotNullWhen(false) attr to 'is_null_or_empty'
2023-02-01 15:16:08 -05:00
John Colvin
cdf4f341d4
fix: Consider SecurityCriteria 'defined' if callputs non-empty
2023-02-01 15:15:04 -05:00
John Colvin
f649c26304
chore: Remove superfluous fn
2023-02-01 15:14:23 -05:00
John Colvin
3a8d759a26
refactor: Move OrderFactory to own file, merge w DynamicOrderHelper
2023-02-01 15:14:23 -05:00
John Colvin
29ca6e98fb
refactor: Replace ShowOrderTicket tag's anon tuple w/ proper type
2023-02-01 15:14:22 -05:00
John Colvin
328dd9b2d3
feat (internal): Add OrdersClient
2023-02-01 15:14:22 -05:00
John Colvin
a1e58e5498
feat (internal): Add AdminClient
2023-02-01 15:14:22 -05:00
John Colvin
ef43aebc5d
refactor: Remove misplaced admin-related fns from OrderFactory
2023-02-01 15:14:22 -05:00
John Colvin
9a3304201e
refactor: Consolidate sync_with/never_duplicate fns
2023-02-01 15:14:22 -05:00
John Colvin
cd88710385
refactor: Move order utils from spark to spark_api
...
This is part of a larger effort to decouple business logic from windows
and the ui. Some utils are immediately needed for the websocket api.
2023-02-01 10:07:43 -05:00
John Colvin
2b3e4a4579
refactor: Move DisplayNameHelper to spark_core
2023-02-01 10:07:43 -05:00
John Colvin
05731cb9a2
refactor: Add OrderPriceComparer spark_api proj
2023-02-01 10:07:42 -05:00
arhamGIT
01eeadaf42
added changed suggested by john
2023-02-01 03:29:22 -05:00
arhamGIT
b4721882ec
log.notnull instead of customs, removed helpers
2023-02-01 00:15:11 -05:00
arhamGIT
3e894d0e27
used LoggerContext instead of custom task
2023-02-01 00:08:07 -05:00
arhamGIT
4e42125398
changed Programs.cs to use task.wait
2023-01-31 23:58:11 -05:00
arhamGIT
664cc37a03
fixed small bug
2023-01-31 23:46:51 -05:00
arhamGIT
f4a0da3518
code for book subcription building
2023-01-30 09:11:54 -05:00
Taha Afzal
cc8c181728
Establishign the connection bw listener and sim execution
2023-01-27 17:13:06 -05:00
John Colvin
5339d4ff93
refactor: Impl 'market_data' fn w/ SecurityCriteria filter
2023-01-27 14:36:38 -05:00
John Colvin
a31368f08d
refactor: Make 'subscribe_md' fn criteria param nullable
...
It was already checking for null, just needed to add the '?' to convey
this to callers. Also improve the method by checking if SecurityCriteria
'is_defined' before applying the filter.
2023-01-27 14:36:38 -05:00
John Colvin
136938ba1e
refactor: Add NotNullWhen attr to 'is_defined' ext
...
So static analysis tools recognize that the 'criteria' param must be
non-null when 'is_defined' returns true
2023-01-27 14:36:38 -05:00
John Colvin
09316b630d
refactor: Make SecurityCriteria/Clause public
2023-01-27 14:36:38 -05:00
John Colvin
99a661089f
refactor: Move Book into own file
2023-01-27 13:48:19 -05:00
arhamGIT
f26cb80e5f
changes for marketdataclient
2023-01-27 13:47:15 -05:00
Taha Afzal
dde8524ecb
Renaming some general classes and moving them out of cc
2023-01-26 23:22:36 -05:00
Taha Afzal
cda3d18838
Simulted Exchange base classes added
2023-01-26 20:02:10 -05:00
arhamGIT
fae0325e87
added dummy function
2023-01-26 14:21:14 -05:00
Taha Afzal
118ca7248d
Merge branch 'spark_crypto.ccapi' of bitbucket.org:bluetradesys/spark into spark_crypto.ccapi
2023-01-25 17:01:51 -05:00
Taha Afzal
afa194ac54
Fixing the live vs replay priority (In short, if an exchange is configured for both live and replay, live gets precedence. Also, replay market data is not recorded
2023-01-25 17:01:32 -05:00
John Colvin
3538712692
fix (mview): Raise prop changed for qty '_text' props
...
Bugs (fixed):
* Quantities for Deribit futures are all 0
Cause: The row wasn't refreshing qty '_text' props when the quantities
changed
2023-01-24 23:24:37 -05:00
Taha Afzal
604c34384c
Adding Deribit to the default MarketDataConfigs
2023-01-24 22:01:33 -05:00
Taha Afzal
c18f1baafa
Merge branch 'spark_crypto.ccapi' of bitbucket.org:bluetradesys/spark into spark_crypto.ccapi
2023-01-24 21:08:56 -05:00
Taha Afzal
8e04920ab9
Starting Deribit from MarketDataGateway
2023-01-24 21:08:24 -05:00
arhamGIT
aa3147a4a6
Merge branch 'spark_crypto.dev' of bitbucket.org:bluetradesys/spark into spark_crypto.dev
2023-01-24 13:34:19 -05:00
arhamGIT
f7ab968e1b
added flow comments
2023-01-24 10:32:44 -05:00
arhamGIT
5ce3d9d1a9
updated datasync
2023-01-24 10:32:43 -05:00
arhamGIT
e2a9c91d3f
added comments
2023-01-24 10:32:43 -05:00
arhamGIT
78a8652e7a
separated logic into three classes needs comments
2023-01-24 10:32:43 -05:00
arhamGIT
e9c536df96
sockethandler done, need to give cons back to gtwy
2023-01-24 10:32:43 -05:00
arhamGIT
94429a1fbc
merged trydisconnecting with other function
2023-01-24 10:32:43 -05:00
arhamGIT
f2728dcf78
thread safe socket added
2023-01-24 10:32:43 -05:00
John Colvin
cbfd18c371
ui (orderbook): Use qty display cfg in right panel
2023-01-24 00:51:54 -05:00
John Colvin
60a31eb102
chore: Remove unnecessary BTS_EXPORTs
2023-01-24 00:51:54 -05:00
John Colvin
7c1e95d35d
ui (mview): Only show merged qty by default
...
Hide direct/implied qty cols
2023-01-24 00:51:54 -05:00
John Colvin
90a046d539
feat (ui): Use fractional qtys in md
...
Changing quantities from ints to floats introduces new rounding/display issues
(unlike with ints, we can't just call 'ToString()' and expect consistent
formatting). Formatting settings are needed, such as num-decimal-places and
display-multiplier, and they must be configurable per SecurityCriteria.
Fortunately, such configuration already exists in the form of SecurityMetadata
config (we tackled the same issue for order-entry). In order to integrate this
(newer) config with market data, references to the (older)
SymbolUIConfiguration (used once upon a time for DJ work), had to be replaced.
2023-01-24 00:51:53 -05:00
John Colvin
935a6f846c
fix build (client): Disable cpp that isn't needed on win
2023-01-24 00:51:44 -05:00
John Colvin
b02f814c65
fix (ui): Remove context menu items that do nothing
...
They were accidentally brought over from Edge. Their functionality
hasn't been implemented in Spark.
2023-01-23 01:34:55 -05:00
John Colvin
8c42aa93a2
chore: Remove unused code
2023-01-23 01:34:55 -05:00
John Colvin
357bc5ad44
fix (ui): Format perp futs 'Perp' suffix (not bogus exp)
2023-01-23 01:34:55 -05:00
John Colvin
07fb9e8eb7
ui (pnl): Use 'default_text' foreground in popup titles
...
Previously, the foreground for some popups was a hardcoded dark gray,
which became hard-to-read following the Dark Theme changes.
2023-01-23 01:34:55 -05:00
Taha Afzal
d641eba252
Removing some unused headers from includes
2023-01-22 18:38:31 -05:00
John Colvin
9f9fc4c8ab
fix (analytics-exps): Wait for sym list before loading selection
...
Bugs (fixed):
* The selected symbols aren't restored with the workspace
Cause: The selected symbols were getting loaded once, in the ctr, before the
list of symbols had been properly initialized. The view automatically
deselects items that aren't in the ItemsSource.
2023-01-22 12:23:03 -05:00
John Colvin
2aef052398
ui (pnl): Use gray font color when pnl is zero
2023-01-22 12:23:03 -05:00
John Colvin
1c2027506a
refactor: Clean up NullableColor/FontWeightProto
2023-01-22 12:23:03 -05:00
John Colvin
c3274b2008
refactor: Rename argb_color -> to_uint
...
This is a more appropriate name
2023-01-22 00:11:28 -05:00
John Colvin
99aef9e86e
refactor: Get rid of redundant prop 'NullableColorProto.argb'
...
It was a relic of the past. Although different fns are called in the props'
getters ('rgb_color' vs 'argb_color'), both ultimately return the same value.
2023-01-22 00:09:38 -05:00
Taha Afzal
77697f4312
Fixing windows C++ build
2023-01-21 22:16:35 -05:00
Taha Afzal
247d8b7ee8
Merging
2023-01-21 20:57:59 -05:00
Taha Afzal
06bed8747f
Adding Replay to MarketDataGateway
2023-01-21 20:38:37 -05:00
John Colvin
8e9233022e
fix (mini-ob): Return root element in CancelColumn.view_factory
...
Bugs (fixed):
* Mini Orderbook crashes immediately when opened
Cause: The (cell) view_factory fn wasn't returning the cell's root
element, and was instead returning the root's child element.
As a result, when the row attempted to add this element to its visual
tree, the following exception was thrown:
System.ArgumentException: Specified Visual is already a child of
another Visual or the root of a CompositionTarget.
2023-01-21 13:41:04 -05:00
John Colvin
954dc582dc
fix build: Make non-class fns in cpp files static
...
The build was broken bc a fn w/ signature 'eq(double, double)' was
defined twice, in TaskingEyeAlgo.cpp and CCAPISingleOrderManager.cpp.
2023-01-20 15:08:21 -05:00
John Colvin
df510f0e3b
Merge origin/spark_crypto.ccapi.fractional_qty_md
2023-01-20 15:08:19 -05:00
Taha Afzal
ef9b3b0544
Adding config protobuf for MD Replay
2023-01-20 11:35:58 -05:00
Taha Afzal
b8b3a57e8e
Putting recording behind config
2023-01-19 23:09:28 -05:00
Taha Afzal
d18020a45c
Merging spark_crypto.md_recording
2023-01-19 15:31:36 -05:00
Taha Afzal
e652c1cd24
Fixing the build (as per John)
2023-01-18 13:11:25 -05:00
Taha Afzal
8f5d6ccd51
Organized the common md recording functions
2023-01-17 23:36:04 -05:00
Taha Afzal
cbe4a488b9
Adding error handling for file based replay
2023-01-17 22:09:17 -05:00
Taha Afzal
8ce3ef69d0
Odds and Ends with replay
2023-01-17 17:09:02 -05:00
Taha Afzal
ab9fab13d9
Merging from spark_crypto.cme
2023-01-17 11:25:23 -05:00
Taha Afzal
309b0e64b2
Adding better logs
2023-01-16 21:46:27 -05:00
arhamGIT
a6324a9aa2
added flow comments
2023-01-16 13:19:39 -05:00
arhamGIT
64417a6867
updated datasync
2023-01-16 03:21:42 -05:00
arhamGIT
8e16dcde0d
added comments
2023-01-16 02:25:18 -05:00
Taha Afzal
2d8f6df0e2
Adding SimExecutionGateway, its not implemented yet
2023-01-15 19:09:21 -05:00
Taha Afzal
10199fb7ad
Adding spread support in replay
2023-01-13 16:20:33 -05:00
arhamGIT
6f6ac2866c
separated logic into three classes needs comments
2023-01-13 07:21:10 -05:00
arhamGIT
46837facbf
sockethandler done, need to give cons back to gtwy
2023-01-13 05:55:12 -05:00
John Colvin
4916211301
refactor: Add BTS_FATAL macros
...
Essentially just shorthand for 'bts_assert(false)'
2023-01-12 12:50:29 -05:00
John Colvin
1d8c4a0954
chore: Add various MarketDataConfig.conf profiles
2023-01-12 12:50:28 -05:00
John Colvin
64601914b2
feat: Add Binance US market data
2023-01-12 12:50:28 -05:00
John Colvin
b3ca5f133e
build: Add config profiles to override generated defaults
2023-01-12 12:50:28 -05:00
John Colvin
9c3397d367
build (web): Upgrade node packages
...
As of now (2022-01-03), only 1 package isn't up-to-date: 'protobufjs'.
It remains locked at version 6.11.3. Anything newer breaks the web build
with mysterious webpack errors that suggest various imports aren't
properly resolved.
2023-01-12 12:50:28 -05:00
John Colvin
b3dfce9f91
build (web): Automatically generate protos in venv
...
Finally, the server can be built outside of the venv (all dependent
build steps activate it automatically)
2023-01-12 12:50:28 -05:00
John Colvin
590d0028c2
chore: Add '!=' operator for Book
...
The '==' operator had already been defined. Presumably, the '!='
operator was omitted by mistake.
2023-01-12 12:50:28 -05:00
John Colvin
67cf817aa9
chore: Impl to/from_json for domain/md types
...
So objects of these types can be readily logged in a format that is
comprehensive, familiar, and consistent
2023-01-12 12:50:28 -05:00
John Colvin
35811512a4
chore: Remove FTX from default md conf
...
FTX is no more
2023-01-12 12:50:28 -05:00
John Colvin
c13c85ed44
refactor: Rename 'num_book_levels' -> 'num_depth_levels'
...
This seems to be a more common nomenclature
2023-01-12 12:50:28 -05:00
John Colvin
5c85dabad8
fix (ccapi logging): Store filename strings in buffer
...
So they don't point to bogus memory when the log is persisted (async)
2023-01-12 12:50:28 -05:00
John Colvin
c134b0f5ca
refactor: Move 'AllSameType' to its own header
2023-01-12 12:50:28 -05:00
John Colvin
d92ad7e2b6
build: Make ccapi log level configurable via cmake cache var
...
Default to 'Debug' for debug builds, and 'Warn' for release builds
2023-01-12 12:50:28 -05:00
John Colvin
4547d8cec1
refactor: Add runtime cfg for exch urls
...
CCApi otherwise harcodes them as pre-processor definitions (compile time).
We can use this runtime cfg to switch between test/prod urls without rebuilding
2023-01-12 12:50:28 -05:00
John Colvin
402a1f50f2
chore: Clean up Symbols.conf a bit
2023-01-12 12:50:28 -05:00
John Colvin
bada16ade7
chore: Add documentation for TimeStamp
2023-01-12 12:50:28 -05:00
John Colvin
9794465d88
fix build (gcc): Mark a few constexpr fns inline instead
...
The gcc compiler correctly detected the impls weren't constant expressions
2023-01-12 12:50:28 -05:00
John Colvin
1f163615c5
style: Run formatter on CMakeLists
2023-01-12 12:50:28 -05:00
John Colvin
4304d7f786
diag: Add output op & fmt impl for SecurityMarketDataStatistics
2023-01-12 12:50:28 -05:00
John Colvin
38a5d95df9
refactor: Change md config to support multiple venues at once
2023-01-12 12:50:28 -05:00
John Colvin
4897195629
feat: Add Binance USDS Futures market data
2023-01-12 12:50:28 -05:00
John Colvin
1416f05fbd
chore: Remove unused protos
2023-01-12 12:50:28 -05:00
John Colvin
ac1f64c3f5
fix build (sparkd): Add '-g' to cxx debug flags
...
Technically, the build wasn't broken, just the legacy script 'build_sparkd.py'.
The latest build procedure, which uses CMakePresets, doesn't have this problem.
2023-01-12 12:50:28 -05:00
John Colvin
8fa82840be
feat: Add Binance market data
...
Restructure build configurations so 'dev' builds target venue test urls,
while 'prod' builds target production urls (technically, there is only
one prod build at the moment; it's compiled w/ gcc/release). This is
necessary because the urls ccapi uses are defined at compile time (all
seem to be pre-processor directives defined in ccapi_macro.h).
2023-01-12 12:50:28 -05:00
Taha Afzal
af92b8922f
MD Recording and Replay is almost done, some cleanup needed - mainly organizing config, better logs and some code comments
2023-01-12 09:59:01 -05:00
arhamGIT
f3d1569cb3
merged trydisconnecting with other function
2023-01-12 09:45:59 -05:00
arhamGIT
da41a23c0e
thread safe socket added
2023-01-11 06:32:07 -05:00
Taha Afzal
e79aebbc8a
MDRecorder cleanup:
2023-01-09 23:20:46 -05:00
Taha Afzal
fcd6038d5d
Added implied market data to MDRecorder
2023-01-09 13:36:28 -05:00
Taha Afzal
d1fe0a03b5
MDRecorder almost done, need record implied and RFQ requests, as well as exit after an alloted time of recording
2023-01-09 09:38:03 -05:00
Taha Afzal
cfdca08cfe
CME Template 8
2023-01-06 11:52:30 -05:00
John Colvin
d400bf6263
refactor: Rename spartan 'FMT' macro 'TO_STRING'
...
Avoids conflict with new 'FMT' macro, which is an alias for 'fmt::format'
2023-01-04 13:35:38 -05:00
John Colvin
fa438db001
style: Add 'ReflowComments: false' to clang-format
...
So clang-format doesn't make pretty doxygen comments ugly (it doesn't
seem to know how to format them properly).
2023-01-04 13:35:38 -05:00
John Colvin
31dd34522f
chore: Add sec_descs to SecurityCriteria (cpp)
...
Corresponds to the 'names' field in SecurityCriteria proto
2023-01-04 13:35:38 -05:00
John Colvin
f5221910c8
fix: Support Spots in security sort impl
2023-01-04 13:35:38 -05:00
John Colvin
6e7e1980f5
fix (temp): Skip duplicate sec-exp keys in old edge code
...
It wasn't designed to support multiple exchanges, so Futures with the same
sym/exp from different exchanges yield duplicate sec-exp keys.
2023-01-04 13:35:38 -05:00
John Colvin
11e884e166
fix build (win): Build files in 'core' dir
2023-01-04 13:35:38 -05:00
John Colvin
88943f0857
refactor: Pass ostream to LiveLadderPrinter (don't hardcode cout)
2023-01-04 13:35:38 -05:00
John Colvin
a5459a3aff
improve: Optimize BookSide::is_sorted
2023-01-04 13:35:38 -05:00
John Colvin
e8fa4f23c6
refactor: Move ProtoReader/Printer to 'bts::io' ns
2023-01-04 13:35:38 -05:00
John Colvin
df82c0790b
fix: Remove leftover test-code flag
...
It was preventing securities from being propagated to shared memory
2023-01-04 13:35:38 -05:00
John Colvin
81f1d91f5b
style: Run clang-format on lib/md dir
2023-01-04 13:35:38 -05:00
John Colvin
abf0d45784
improvement: Refactor mdgw/ftx to use SecurityCriteria
...
So we can subscribe to depth for "FTX Options" or "FTX BTC Futures",
rather than having to list each security explicitly.
This commit also unhooks binance from MarketDataGateway. A new paradigm
is emerging with the FTX impl, and it'll be easier to redo Binance than
try to make the existing impl fit the new mold.
Unfortunately, ccapi doesn't provide all the security metadata we need, such as
the security type and expiration date/time, so we get the list of FTX
securities directly from the exchange.
2023-01-04 13:35:38 -05:00
John Colvin
556e2ab99e
refactor (chore): Clean up domain::Security a bit
...
* Rename 'min_quantity_increment_ammount' -> 'min_quantity_increment' to fix typo
* Remove old 'min_quantity_increment' member (it wasn't referenced anywhere)
* Initialize SecurityCommon w/ reasonable defaults (skipping initialization seems
like a premature performance optimization)
* Add a few members to verbose 'to_string' result
2023-01-04 13:35:38 -05:00
John Colvin
4b60fb5141
chore: Add nifty EnumMacros to replace boilerplate code
2023-01-04 13:35:38 -05:00
John Colvin
5eb9c57ba1
refactor: Use core::TimeStamp instead of chrono in TradeRecord
2023-01-04 13:35:38 -05:00
John Colvin
e08b80afee
chore: Make AggressorSide implicit convert from 'Value'
2023-01-04 13:35:38 -05:00
John Colvin
9b8e5896a2
chore: Remove unnecessary include
2023-01-04 13:35:38 -05:00
John Colvin
55e8c60a0b
chore: Move ContainsKey macro to lib/collections
2023-01-04 13:35:38 -05:00
John Colvin
a30b026c9d
chore: Tone down IDGenerator logging to Diag
2023-01-04 13:35:38 -05:00
John Colvin
cb79cbeb45
chore: Move SecurityCriteria classes into libspark
2023-01-04 13:35:38 -05:00
John Colvin
0e101aaf8b
improvement: Show sid in LiveLadderPrinter book output
2023-01-04 13:35:38 -05:00
John Colvin
e8244595f3
chore: Add to_string fn to Security
...
For diagnostic purposes (esp while we integrate more exchanges)
2023-01-04 13:35:38 -05:00
John Colvin
37512eb8d6
chore: Add some basic functionality to core::TimeStamp
2023-01-04 13:35:38 -05:00
John Colvin
567db063f3
fix: Create string in FMT_IMPL macro so it's compatible w/ LOG
...
Otherwise variables which aren't copied by default become corrupt when they go
out of scope (which happens bc our logging system is async).
2023-01-04 13:35:38 -05:00
John Colvin
cc1484a81e
chore: Move OSTREAM_FMT_IMPL.h into lib/core
2023-01-04 13:35:38 -05:00
John Colvin
0dc278eed5
chore: Support timezones when parsing iso dates
...
This is needed because FTX (and perhaps other exchanges) format
expirations with timezones
2023-01-04 13:35:38 -05:00
John Colvin
43ba30365a
fix: Update OSTREAM_FMT_IMPL macro
...
This macro defines 2 template specialization fns, 'parse' and 'format'.
* Change 'format' to be a const method
* Declare return type w/ 'decltype' (per latest official example from fmtlib)
2023-01-04 13:35:38 -05:00
John Colvin
02ac95404d
chore: Remove unused files
2023-01-04 13:35:38 -05:00
John Colvin
8388bdf1ec
chore: Add missing huobi & binance venues to 'Venue' proto
2023-01-04 13:35:38 -05:00
John Colvin
019c3dd8db
chore: Replace magic strings w/ CCAPI macros
...
These come from ccapi, so the code should never break due to an update
(not necessarily the case with the magic strings).
2023-01-04 13:35:38 -05:00
John Colvin
481380f883
chore: Assign asset & group when parsing ccapi securities
2023-01-04 13:35:38 -05:00
John Colvin
7c66260ff1
chore: Rename 'security_type' -> 'type'
...
For convenience (it's shorter)
2023-01-04 13:35:38 -05:00
John Colvin
ad465b593f
chore: Add fns to access SecurityCommon fields from Security
...
Bc I'm lazy and don't want to write 'security_common' everytime I need to access
these fields
2023-01-04 13:35:38 -05:00
John Colvin
00d702f998
chore: Remove accidental include
2023-01-04 13:35:38 -05:00
Taha Afzal
872f55d6c3
Reducing the logs and couts that were put while interfacing with CC
2023-01-04 13:35:38 -05:00
Taha Afzal
84f4c38336
Enabling spot market dtaa in the UI
2023-01-04 13:35:38 -05:00
Taha Afzal
b9b907490a
Enabling spot market data
2023-01-04 13:35:38 -05:00
Taha Afzal
8c6835a919
Merging
2023-01-04 13:35:38 -05:00
Taha Afzal
3a6bda4e08
Removing temporary security creation from CCMarketDataListener
2023-01-04 13:35:38 -05:00
Taha Afzal
60f76344c2
UI changes in SecurityExtensions to accomodate FTX
2023-01-04 13:35:38 -05:00
Taha Afzal
1fff7d5bcd
Removing #include of a deleted generated header
2023-01-04 13:35:38 -05:00
Taha Afzal
d77d3ab6c7
Merging CCListener work from a different branch
2023-01-04 13:35:35 -05:00
arhamGIT
4c91538f22
base websockets working
2023-01-04 04:34:44 -05:00
Taha Afzal
2eca4f7f14
Fixing the build, unused variable
2023-01-03 14:53:03 -05:00
John Colvin
053fa461a2
chore: Remove unnecessary includes
2023-01-03 14:53:03 -05:00
John Colvin
aa997466f0
chore: Remove unused files CCApiRequestor.h/cpp
2023-01-03 14:53:03 -05:00
John Colvin
fdf4fce5fa
refactor: Return error if md cfg invalid rather than assert/crash
2023-01-03 14:53:00 -05:00
Taha Afzal
5746460e8d
QueryServer while handling mic's use switch for exchange instead of ifs
2023-01-02 18:44:59 -05:00
John Colvin
569ac8e3e0
fix: Fix typo in 'MarketDataRegistrationError' type name
...
The 'Registration' part was misspelled 'Regstration'
2023-01-02 18:44:59 -05:00
Taha Afzal
d9efbb879d
IDGenerator is a thread-safe singleton now
2023-01-02 18:44:59 -05:00
John Colvin
92ff4198ef
refactor: Hook up ccapi 'on_securities' callback
...
Clean up ccapi md code while we're at it
2023-01-02 18:44:59 -05:00
John Colvin
48bd3ab49a
chore: Remove Binance-specific md impl from MarketDataGateway
...
It was creating needless clutter, as it was written before we knew about
ccapi. The new plan is to use a simple adaptor to interface with ccapi
for every exchange md.
Note: There are a handful of files related to the historic Binance impl
in the folder /lib/md/binance. I'm keeping them around for now, since
they are generally independent/isolated, and aren't causing clutter or
compromsing other code. Some of the utils there may come in handy down
the road.
2023-01-02 18:44:59 -05:00
John Colvin
9c7fc000e5
refactor: Replace FTX ccapi impl w/ exchange agnostic one
2023-01-02 18:44:59 -05:00
John Colvin
d2454b6b85
chore: Include <string> in MarketDataRegistrationError
...
Apparently <string> was included in all source files that referenced
MarketDataRegistrationError by coicidence (else the build would have been broken)
2023-01-02 18:44:59 -05:00
John Colvin
b4cda81535
build: Add -g to CMAKE_CXX_FLAGS_DEBUG
...
This flag tells compilers (both clang and gcc) to produce debug info
2023-01-02 18:44:59 -05:00
John Colvin
2d0fae0cbe
chore: Sort includes
2023-01-02 18:44:59 -05:00
Taha Afzal
5515404062
CCMarketDataListener now listens to CC and writes data to shared memory
2023-01-02 18:44:57 -05:00
John Colvin
24c4dc1861
fix build (g++-12 rel): Add '-Wnomaybe-uninitialized' flag
...
For some reason, this warning isn't suppressed in ccapi_date.h, which is
included as a system header (like all headers in externals). According to GCC's
documentation, compiler warnings shouldn't be emitted from system headers.
Disabling the warning for now so we can focus on bigger fish.
2023-01-02 18:42:39 -05:00
John Colvin
3b1a2357cc
fix build (client): Change 'WIN32' macros to '_WIN32'
...
Not sure exactly how this broke, but the WIN32 macro is no longer defined.
2023-01-02 18:42:39 -05:00
John Colvin
35371fe971
refactor: Remove redundant optional.h
...
It was from a time when Windows std didn't provide the 'optional' header
2023-01-02 18:42:39 -05:00
John Colvin
365394f28b
build: Fix build_spark.py (broken since CMakePresets introduced)
...
Pass additional cmake opts through cli. Specifically, those that were
moved from CMakeLists.txt to CMakePrests.json
2023-01-02 18:42:39 -05:00
John Colvin
88c70a3ea0
build (refactor): Add cmake_utils.py in py/core
...
So it can be referenced by both client/server build scripts
2023-01-02 18:42:39 -05:00
John Colvin
b0eb1175c1
Update docker/linux for ubuntu 22.10 image
2023-01-02 18:42:39 -05:00
John Colvin
e90d627125
build (web): Update npm packages
2023-01-02 18:42:39 -05:00
John Colvin
c1190d4ef9
build (refactor): Remove unused cmake var SPARK_PYTHON
2023-01-02 18:42:39 -05:00
John Colvin
67487415ad
build (refactor): Change some cmake cache vars to options
2023-01-02 18:42:39 -05:00
John Colvin
dcf80d7067
build: Fix build_sparkd.py (broken since CMakePresets introduced)
...
Pass additional cmake opts through cli. Specifically, those that were
moved from CMakeLists.txt to CMakePrests.json
2023-01-02 18:42:39 -05:00
John Colvin
99a778811a
fix build: Update externals
...
Disables a few warnings-as-errors in btree source files
2023-01-02 18:42:39 -05:00
John Colvin
eb76f0a6c5
fix build (gcc-12, clang>=11): Update externals
...
Disables a few warnings-as-errors in catch2 source files
2023-01-02 18:42:39 -05:00
John Colvin
b8de813859
build: Replace setup_builds w/ CMakePresets.json
...
Clean up CMakeLists a bit in the process:
* Define more cmake vars in CMakePresets
* Split linux/windows presets into separate files
2023-01-02 18:42:39 -05:00
John Colvin
6b480afd43
build (sparkd): Automatically create py venv in build script
2023-01-02 18:42:39 -05:00
John Colvin
40d21542ae
build (sparkd): Pipe 'eval' cmd stdout/err back to shell
...
So we can actually see the build output
2023-01-02 18:42:39 -05:00
John Colvin
a8af5d2523
fix build: Compile with gcc/g++ (version agnostic)
...
We don't really need a strict dependency on a compiler version, though
best practice is to use the latest gcc (12).
2023-01-02 18:42:39 -05:00
John Colvin
bfd12aed63
tools (log): Fix 'pretty' script & rename 'show_last_run'
2023-01-02 18:42:39 -05:00
John Colvin
76936ea50d
fix build (gcc): Disable warning stringop-overread
...
This warning (as error) was introduced with g++ 12
2023-01-02 18:42:39 -05:00
John Colvin
6947aea35e
diag: Log emumba cfg parse error code
2023-01-02 18:42:39 -05:00
John Colvin
34be51c648
refactor: Include <limits> in sane_algorithm.h
...
Although the build was fine, many methods in this header file depend on 'limits'
so it is appropriate to include it. Presumably all references to such methods are
made from source files that include <limits> by coincidence.
2023-01-02 18:42:39 -05:00
John Colvin
56b68b9a24
fix build (gcc): Don't let switch case fall through
...
Even if the case is simply 'bts_assert(false)'
2023-01-02 18:42:38 -05:00
John Colvin
84e6f010d7
build: Benign changes to remove errors in gcc 12
2023-01-02 18:42:38 -05:00
John Colvin
b360f953db
build: Benign changes to remove errors in clang 15
2023-01-02 18:42:38 -05:00
Taha Afzal
320427c9c5
Merge branch 'spark_crypto.dev' of bitbucket.org:bluetradesys/spark into spark_crypto.dev
2022-12-25 16:17:12 -05:00
Taha Afzal
5e8543902e
Sheet theos change colors for contracts that are in a task
2022-12-25 16:17:01 -05:00
John Colvin
edae3c9ab7
build (refactor): Remove 'zip' opt from publish_spark
...
The slight convenience afforded by this opt doesn't seem worth the
additional complexity. This script produces a self-contained application
folder. Decisions on what to do with that folder (whether or not to zip
it, etc.) are best left upstream.
2022-12-23 11:40:35 -05:00
John Colvin
fd9892c6b6
fix: Prevent raw_pb_callback premature garbage collection
...
Bugs (fixed):
* Startup crash w/ error message: "A callback was made on a garbage
collected delegate of type ApiNativeMethods.raw_pb_callback"
Cause: The callback is only referenced in unmanaged c++. Without references
in managed code, the Garbage Collector deems the delegate eligible for
collection before the callback has finished execution.
Note: The original solution forced a reference in managed code by storing it
in a class-member 'keepalive' dictionary, whose life isn't bound to the
[synchronous] scope of the 'send' method. The callback would then remove
itself from the dictionary in its last line of code. While this reduced the
chance of such an error occurring, occassional crashes persisted
(particularly in low-bandwidth environments). I suspect the frequency at
which garbage-collector threads run is inversely related to the frequency
at which data arrives from the server, as the latter triggers execution of
higher-priority threads.
Steps to repro:
1. Insert a Thread.Sleep statement (1000 ms should be sufficient) after
the call that removes the last reference to the delegate (i.e., make
the thread sleep for a significant amount of time in the callback
AFTER it becomes eligible for garbage collection).
2. Build, run, and observe crash on startup.
Solution: Wrap the callback in another class, and store the wrapper
in the dictionary rather than the callback itself. The reason why this
works isn't totally clear, however its effectiveness has been verified
with the repro (described above).
2022-12-23 11:25:07 -05:00
Taha Afzal
51c89fb8cc
Merge branch 'spark_crypto.prod' into spark_crypto.cme
2022-12-21 20:38:42 -05:00
Taha Afzal
45668baaf8
Adding code to Main
2022-12-20 12:17:51 -05:00
Taha Afzal
305cc0e01c
Adding simple concrete classes
2022-12-20 12:00:46 -05:00
Taha Afzal
f0f365538b
Initial check in for Websocker skeleton
2022-12-19 23:45:52 -05:00
Taha Afzal
f9bba0baed
Merge branch 'spark_crypto.dev' of bitbucket.org:bluetradesys/spark into spark_crypto.dev
2022-12-19 17:41:38 -05:00
John Colvin
306c18065a
chore: Add csproj bones for websocket api
2022-12-19 14:25:37 -05:00
Taha Afzal
ded674d87c
Enabling CME market data, and adding some new logs to track initialization of resources
2022-12-19 14:15:04 -05:00
John Colvin
c64c71c98c
fix build (sparkd install): Copy plugins to install dir
2022-12-15 12:47:35 -05:00
John Colvin
7de87c1c25
ui (refactor): Consolidate (Repeat)Button colors to one class
...
The only difference between a RepeatButton and a regular Button is in
the click-behavior (they should look identical).
2022-12-15 12:47:35 -05:00
John Colvin
12716bb6e1
fix: Add a couple null checks
2022-12-15 12:47:35 -05:00
John Colvin
8e68d573ff
ui (volsurface): Update oxyplot to get rid of 'dummy' win
2022-12-15 12:47:35 -05:00
Taha Afzal
dd66e94bfd
Merge branch 'spark_crypto.prod' of bitbucket.org:bluetradesys/spark into spark_crypto.prod
2022-12-09 16:59:50 -05:00
Taha Afzal
d399f75648
Decreasing the log rate on the server
2022-12-09 16:59:08 -05:00
John Colvin
937173dd2f
ui (volsurface): Update oxyplot to get rid of 'dummy' win
2022-12-09 13:23:44 -05:00
Taha Afzal
f1f7a40fba
Changing some Sheet UI Defaults
2022-12-09 01:53:08 -05:00
Taha Afzal
5522d364d4
Fixing Sheets and SpreadBox colors
2022-12-09 00:47:47 -05:00
John Colvin
3a218d246e
ui: Style ListBoxEx w/ dark theme colors
...
This control used in grid filters (multi-select)
2022-12-08 13:52:14 -05:00
John Colvin
bafc28e3bc
ui: Touch up orderbook panel (dark theme)
2022-12-08 13:52:14 -05:00
John Colvin
6d1eb474c4
ui (grid settings): Align column-list cell params
...
The [vertical] alignment issue was only noticeable in the pnl settings dialog
(its cell params section is taller than those in other settings dialogs), where
the shorter columns list was center aligned with the taller cell params.
2022-12-08 13:52:14 -05:00
John Colvin
d172f4ffab
ui: Touch up grid settings dialogs (dark theme)
2022-12-08 13:52:13 -05:00
John Colvin
c527b6e84f
ui: Touch up AlgoStudio (dark theme)
2022-12-08 13:51:55 -05:00
John Colvin
b8c7abd6b3
ui: Style TickUpDown ctrls w/ dark theme colors
2022-12-08 13:30:55 -05:00
John Colvin
fea8e184c1
style: Sort tag attributes in xaml
...
* Put attached props before regular (i.e., not attached) props
* Sort alphabetically, with exceptions for props that are logically
grouped together. For example Width/MinWidth/MaxWidth may be
adjacent, as they are all 'width' props.
2022-12-08 13:30:55 -05:00
John Colvin
44a7bc0de9
style: Format large xaml files
...
* Improves readability
* Adds new lines to make navigating through the tags easier
* Mostly just white space changes
fix add empty lines
fix empty lines (reword commit to 'white space changes')
fix white space
2022-12-08 13:30:55 -05:00
arhamGIT
4bad9ef183
ladder lines
2022-12-08 13:30:55 -05:00
arhamGIT
590835c627
ladder changed
2022-12-08 13:30:54 -05:00
arhamGIT
997766df92
partial PNL header fix
2022-12-08 13:30:54 -05:00
arhamGIT
cdbf66cd6c
grid fixed with new row colors
2022-12-08 13:30:54 -05:00
arhamGIT
4c90eed59e
bunch of changes for dark theme
2022-12-08 13:30:54 -05:00
John Colvin
d260f8ce2c
ui: Hardcode dark theme
2022-12-08 13:30:54 -05:00
Taha Afzal
12d0afb215
Merge branch 'spark_crypto.tasking_eye' of bitbucket.org:bluetradesys/spark into spark_crypto.tasking_eye
2022-12-06 15:21:46 -05:00
Taha Afzal
a9040f5f8f
For TaskingEye, side is not a part of the algo any more. Therefore selecting the bids and starting an eye, makes it go shoot at the bid, and vice verca for the asks
2022-12-06 15:21:37 -05:00
Taha Afzal
6e6acb5a71
Fix for TaskingEyeAlgo with empty security lists (ie when algo is launched from the ladder)
2022-12-06 15:17:54 -05:00
Taha Afzal
256697d5b0
Side is a parameter of TaskingEyeAlgo, it is inferred from the OrderDefinition (like other algos)
2022-12-06 11:06:44 -05:00
Taha Afzal
be9067b22e
AlgoWrapper was not publishing the filled fractional qtys, fixed now
2022-12-05 22:59:59 -05:00
Taha Afzal
a5874a59f0
AlgoWrapper was not reporting fractional qty fills, this fixes it now via using the get_quantity function in orderman_common.h
2022-12-05 21:56:50 -05:00
Taha Afzal
e8405e5638
OrderServiceServer starts calling ServiceBridge's do_work only once it gets the ready signal from ServiceBridge
2022-12-05 14:33:04 -05:00
Taha Afzal
ab70c9dfb1
Fixing problem with TaskingEye for fractional shot qtys
2022-12-04 23:21:23 -05:00
Taha Afzal
1e4d8584c7
Merge branch 'spark_crypto.tasking_eye' of bitbucket.org:bluetradesys/spark into spark_crypto.tasking_eye
2022-12-04 20:36:25 -05:00
Taha Afzal
29eef77099
ServiceBridge now periodically publishes the TheoEvent (with a flag indicating such). This helps the algos get the theos without waiting for the next update
2022-12-04 20:36:10 -05:00
Taha Afzal
c50e89ae78
Merge branch 'spark_crypto.tasking_eye' of bitbucket.org:bluetradesys/spark into spark_crypto.tasking_eye
2022-12-03 00:28:12 -05:00
Taha Afzal
89917713d6
Tasking eye UI work in the sheets
2022-12-03 00:28:00 -05:00
Taha Afzal
1e0ac46e07
Account name is part of the Tasking Eye Algo now
2022-12-02 23:18:06 -05:00
Taha Afzal
6279b8f5f5
Securities (string of sec_ids unfortunately) is a parameter in Tasking Eye Algo now
2022-12-02 15:44:25 -05:00
Taha Afzal
4007c87e20
Merge branch 'spark_crypto.tasking_eye' of bitbucket.org:bluetradesys/spark into spark_crypto.tasking_eye
2022-12-01 09:50:47 -05:00
Taha Afzal
ec0f42e76c
Adding timer for the theo publishing time
2022-12-01 09:50:37 -05:00
Taha Afzal
99f63c2a6f
Fixed a big with the shot throttle
2022-11-30 21:42:54 -05:00
Taha Afzal
12ac20f756
TaskingEyeAlgo code complete, it is firing orders and correctly (needs more testing and ui integration)
2022-11-30 15:39:00 -05:00
Taha Afzal
9d36d74005
TaskingEyeAlgo correctly subscribes and receives driver books
2022-11-29 13:42:15 -05:00
Taha Afzal
da2cc977a0
TaskingEyeAlgo hooked up to theos
2022-11-29 00:11:04 -05:00
Taha Afzal
84e7bdb586
Adding TaskingEyeAlgo
2022-11-28 16:57:12 -05:00
Taha Afzal
b062a229c8
Added on_theos to IAlgoOrder, and hooked up the plumbing
2022-11-28 10:54:38 -05:00
Taha Afzal
8680b3d815
Publishing the interp theos to the server is almost done
2022-11-25 22:20:08 -05:00
Taha Afzal
6ab0e4c5a7
Merge branch 'spark_crypto.tasking_eye' of bitbucket.org:bluetradesys/spark into spark_crypto.tasking_eye
2022-11-25 16:36:34 -05:00
Taha Afzal
867bcf97d0
Added InterpTheosServerPublisher, which allows to publish precomputed theos to the server
2022-11-25 16:36:26 -05:00
Taha Afzal
360bf9b37e
Added get_driver_sec to ITheoCalculator
2022-11-25 16:22:10 -05:00
Taha Afzal
4d85106fbf
Added server method to publish precomputed theos, feed it into a calculator, and publish the calculator as an event
2022-11-23 12:52:01 -05:00
Taha Afzal
64a253b581
Fixed the vol change in day bug (difference of uint64s was being assigned to an int32)
2022-10-26 09:37:25 -04:00
Taha Afzal
5f379c1356
SpreadBox minor button display fixes
2022-10-13 07:32:03 -04:00
Taha Afzal
76c80383ce
Merge branch 'spark_crypto.dev' into spark_crypto.prod
2022-10-13 00:55:11 -04:00
Taha Afzal
e5a6ea80f0
Making the SpreadBox button click more obvious (ToolStripButtons do not have the button like feel of a click)
2022-10-13 00:54:13 -04:00
Taha Afzal
b921e644df
Merge branch 'spark_crypto.dev' into spark_crypto.prod
2022-10-13 00:13:42 -04:00
Taha Afzal
1c3fb8c192
Merge branch 'spark_crypto.dev' of bitbucket.org:bluetradesys/spark into spark_crypto.dev
2022-10-13 00:00:40 -04:00
Taha Afzal
d530d86a30
Merge branch 'spark_crypto.prod' of bitbucket.org:bluetradesys/spark into spark_crypto.prod
2022-10-12 23:57:08 -04:00
Taha Afzal
9d9229ef56
Merge branch 'spark_crypto.spread_creation' into spark_crypto.dev
2022-10-12 23:43:11 -04:00
Taha Afzal
6f6f3c0800
RFQ qty and sides, sent from the client, are now sent over to Deribit
2022-10-12 23:39:44 -04:00
Taha Afzal
7b234044f6
Added controls in the spreadbox that allow for specifying qty and side for an RFQ
2022-10-12 20:08:24 -04:00
John Colvin
d46c82f34c
feat (ladder): Add side/qty inputs for rfqs
2022-10-12 15:41:57 -04:00
Taha Afzal
4d5af610f0
Added an 'RFQDialog' tag to SparkTags, that launches athe RFQDialog window
2022-10-12 11:55:19 -04:00
Taha Afzal
1e94466f24
RFQ for new spreads are now routed to emumba's create_combo method
2022-10-11 15:55:55 -04:00
Taha Afzal
3210c0bce4
Combo creation at Deribit is turned on from the UI now (it was disabled with a boolean switch prior to this commit)
2022-10-11 10:53:09 -04:00
Taha Afzal
849f4ac579
Merge branch 'spark_crypto.prod' of bitbucket.org:bluetradesys/spark into spark_crypto.prod
2022-10-10 15:14:40 -04:00
John Colvin
6d56f67697
feat: Add volsurface graph settings dialog
...
A lot of the vm code was already there, but I cleaned it up a bit. The view was
ported over from edge and also cleaned up/tweaked a bit.
2022-10-10 14:46:34 -04:00
John Colvin
c0289719e7
fix (pre-emptive): Add null check in 'DisposeAll' fn
...
Bugs (fixed):
* The volsurface graph settings dialog crashes when you click OK/Apply
Note: This fix is 'pre-emptive' because I saw the bug while working on the
vs graph settings dialog. That feat will be added shortly in a subsequent
commit (I wanted to commit the fix first so the bug wouldn't be in the
official 'feat' revision/commit).
Cause: A null ref ex is thrown in DisposeAll, because the List of IDisposables
to dispose contains null items.
Another way to fix the bug would have been to make sure null items aren't
added to these Lists in the first place. However, that places the burden (to
check for null) on the callers' shoulders, and leaves open the potential for
this bug in every place where 'DisposeAll' is called.
2022-10-10 14:35:29 -04:00
John Colvin
a32e969b39
fix (ui): Fix ColorPickerControl/Popup SelectedColor binding
...
There were a few issues here:
* The ColorPickerPopup was binding it's own SelectedColor prop to the internal
ColorPickerControl's SelectedColor prop. The SelectedColor prop is typically also
bound to some (external) viewmodel's 'color' prop. This is problematic as
Dependency Properties can only be associated with one 'Write' binding.
* The code designed to keep various sub-color properties in sync with the
result color was confusing, and didn't seem to work. For example, the ARGB
sliders' values didn't match those of the 'result' color.
2022-10-10 14:22:34 -04:00
John Colvin
f5899e7781
fix (vs graph): Bind series vm color to correct OxyPlot prop
...
Bugs (fixed):
* The VolSurface graph colors don't reflect the settings. They appear to be
randomly generated.
Cause: The series vm's color prop was bound to 'TextColor' in the model; it
should have been bound to 'Color'
2022-10-10 11:17:17 -04:00
John Colvin
ed07c956a7
ui: Remove quotes around 'Enter' in col filter prompt
...
Looks cleaner this way, and isn't clipped given the current width
2022-10-10 11:15:14 -04:00
Taha Afzal
2022ee5a07
Completing Deribit execution test
2022-10-10 11:01:59 -04:00
Taha Afzal
a0bc1e8691
Spreader can handle options now
2022-10-09 23:56:38 -04:00
Taha Afzal
c1951ac49a
Added ability to view md/theo in USD, in the sheets
2022-10-08 21:45:57 -04:00
John Colvin
e159e0e77b
ui (man fills): Add 'Time Entered' column
2022-10-07 15:04:36 -04:00
John Colvin
6bbd4134ec
ui (man fills): Use foreground to indicate buy/sell
2022-10-07 15:04:35 -04:00
John Colvin
8a72b2150a
ui (rec rep): Use font weight to indicate price/qty discreps
2022-10-07 15:04:35 -04:00
John Colvin
e4d5d1eeb2
ui (rec rep): Use foreground to indicate long/short pos
2022-10-07 15:04:35 -04:00
John Colvin
6bf2726b63
ui (rec rep): Filter out system spread positions
...
The exchange splits spread positions into the individual legs
2022-10-07 14:50:10 -04:00
Taha Afzal
a63af0cb46
Manual tests for Deribit order execution
2022-10-06 22:37:39 -04:00
John Colvin
b2a7e1d2ed
feat: Add 'Send RFQ' button to ladder
2022-10-05 13:35:00 -04:00
John Colvin
32a38b3b5a
refactor: Remove unused code
2022-10-05 13:35:00 -04:00
John Colvin
8533bcf0a7
style: Format LadderView.xaml
...
It's a big file. Irregular formatting/spacing makes it difficult to navigate.
* Use max line width of 100
* Add empty line after multiline tags
* Trim trailing white space
* Rename terse xml namespaces:
- 'converters' -> 'cv'
- 'spark' -> 'sp'
- 'mbts' -> 'u'
fix fmt ladder
2022-10-05 13:34:39 -04:00
John Colvin
e00eae1129
refactor (ui): Enable auto-refresh in column-text filters
...
feat (mview): Enable auto-refresh in security filter
This behavior is (more) consistent with other modern search uis
2022-10-05 01:05:24 -04:00
John Colvin
95595c4cbf
fix: Arrange Adorner by target's RenderSize (not Desired)
...
Bugs (fixed):
* The Adorner that is used to render a text prompt on top of text boxes appears
clipped; it doesn't span the width of the TextBox.
2022-10-05 01:05:24 -04:00
John Colvin
aad36a4972
fix (mview): Prevent icon flicker when selection changes
...
Observe changes to MarketViewVM.current_row' rather than
'MarketViewVM.selected_rows'. The latter (collection) is momentarily empty when
the selection switches from one row to another, during which time the buttons
are disabled, hence the flicker.
2022-10-05 01:05:24 -04:00
Taha Afzal
cc03f47d70
SpreadBoxes can be brought up from MV
2022-10-04 22:17:46 -04:00
Taha Afzal
5c5e5c23ef
SpreadDisplayForm's start location is not tied to the launching window now
2022-10-04 21:31:30 -04:00
John Colvin
4b531a2a1a
feat: Add 'Send RFQ' button to mview
2022-10-04 18:07:30 -04:00
John Colvin
35530bec0b
refactor: Remove unused variable
2022-10-04 16:42:50 -04:00
John Colvin
5853bb2436
refactor: Make RFQSend tag data immutable
...
It's safer this way. The data doesn't need to be mutated.
2022-10-04 16:39:01 -04:00
John Colvin
bfdf45d30d
fix (ui): Fix typo so spreads' qty metadata comes from 1st leg
2022-10-04 15:33:11 -04:00
Taha Afzal
a330bc5020
MV and Ladder use GreekTuple.normalized_theo now
2022-10-03 23:20:48 -04:00
Taha Afzal
66f68ef3ec
Fixing the spread filled price (EMNativeOrder needed to ignore spread_leg like the GLBX and ICENativeOrders
2022-10-03 23:19:10 -04:00
Taha Afzal
d6e651129b
RFQs are fully hooked up
2022-10-03 14:54:09 -04:00
Taha Afzal
d4a59b8253
UI sends RFQ requests (and almost combo creations)
2022-10-03 00:04:55 -04:00
Taha Afzal
569f1460a4
Wiring up RFQ sending
2022-10-03 00:04:55 -04:00
Taha Afzal
2f369dbd57
RFQ wiring complete
2022-10-02 22:20:44 -04:00
Taha Afzal
444e486862
Changing RFQ Proto
2022-10-01 22:15:05 -04:00
Taha Afzal
b42504d827
RFQ work to identify the spreads
2022-09-30 15:26:22 -05:00
Taha Afzal
18ac85a454
SpreadBox can identify listed spreads, shows the market data as well as allows orders (through ladder) and RFQs
2022-09-30 15:26:22 -05:00
Taha Afzal
788a1a06c5
Greeks for Spreads and Futures are added to bus's Greeks
2022-09-30 15:26:22 -05:00
John Colvin
787b485bce
fix (ladder): Init qty input to null (not nan)
...
Bugs (fixed):
* The ladder qty box defaults to 'NaN' when opened
* Cannot change qty input via keyboard until 'NaN' is cleared
2022-09-28 22:57:36 -05:00
John Colvin
788df0e888
fix build (gcc-11): Include optional
2022-09-28 21:22:47 -05:00
Taha Afzal
916532f7c5
Fixing formatting of Deribit spreads
2022-09-28 21:22:47 -05:00
Taha Afzal
3c511bb177
RFQ hooked up on the server side
2022-09-28 21:22:47 -05:00
Taha Afzal
49f13755c6
Adding RFQ to OrderService interface
2022-09-28 21:22:47 -05:00
Taha Afzal
dcb4b1ae7e
Spread leg fills at Deribit now have the correct prices
2022-09-28 21:22:47 -05:00
Taha Afzal
2152b48fe2
Spread execution is almost done, leg prices are not correct
2022-09-28 21:22:47 -05:00
John Colvin
b6f2f99f21
improve: Get spread qty metadata from first leg
2022-09-28 21:22:47 -05:00
John Colvin
c44df8ec06
style: Add documentation to ContractLegEnumerable
2022-09-27 17:03:58 -05:00
John Colvin
493f082d6d
fix (mview): Apply sec price format to theo & driver
2022-09-27 16:01:49 -05:00
John Colvin
bbe76b2709
feat (ladder): Show theo, delta, vega in left panel
2022-09-27 15:53:22 -05:00
John Colvin
ce8eda24fc
refactor: Make vm prop changed subs more performant
2022-09-27 10:53:39 -05:00
John Colvin
9f9113bf9a
refactor: Clean up LadderSettingsVM a bit
...
* Add readonly modifiers
* Declare 1 member per statement (don't separate members of same type by commas)
2022-09-26 13:34:50 -04:00
John Colvin
a199595938
feat (part): Add 'Spread Box' menu item in mview
...
It posts the selected securities to the 'SpreadBox.ShowSecurities' tag.
TODO: Hook up handler to launch spread boxes in response to the
'SpreadBox.ShowSecurities' tag
2022-09-22 23:51:51 -04:00
Taha Afzal
83de5fac75
Deribit spread market data is now written to shared memory
2022-09-22 23:51:48 -04:00
Taha Afzal
c688657d53
Vol surfaces are curtailed to the newest 500 at server startup
2022-09-22 23:51:41 -04:00
John Colvin
a5c62c66b1
refactor (ladder): Get theos from Greeks tag
...
The old tag, KeyedTheos, is redundant and will be removed soon
2022-09-22 22:04:44 -04:00
John Colvin
6d595d18ee
fix: Fix typo in requirements.txt ('=' -> '==')
2022-09-21 01:55:28 -04:00
John Colvin
946e8f1c47
Update externals
...
* Removes no-longer necessary node_modules dir
2022-09-21 00:17:31 -05:00
John Colvin
b765c3756d
chore: Remove arbitrary [vscode] 'tasks.json'
...
Vscode json files (settings, tasks, launch, etc.) should be tracked in the
dev/<name> dirs
2022-09-21 00:17:31 -05:00
John Colvin
54dc7bf6c3
fix (webapp): Add method without 'set_' prefix in generated js
...
We already do this for 'get_' prefixes
2022-09-21 00:17:31 -05:00
John Colvin
6142a08db6
build (client): Copy libspark.dll to 'publish' dir
...
This dll isn't automatically copied when 'dotnet publish' is executed, because
dotnet core isn't really integrated with cpp
2022-09-21 00:17:31 -05:00
John Colvin
ca59976e00
fix build (cpp win): Use explicit void template arg in memcpy
2022-09-21 00:17:31 -05:00
John Colvin
7f7a160916
fix build (cpp win): Disable ccapi code in windows
2022-09-21 00:17:31 -05:00
John Colvin
c8eb51c303
build (refactor): Move web build scripts to tools/py
...
Even though they're specific to the web CMakeLists proj, it's good to have all
build scripts in one place
2022-09-21 00:17:31 -05:00
John Colvin
4160233a58
build: Get rid of redundant setup_builds.sh
...
The new build_sparkd.py script handles both configuration and actual build
2022-09-21 00:17:31 -05:00
John Colvin
c5f79f754b
build: Compile sparkd w/ newer gcc v11
2022-09-21 00:17:31 -05:00
John Colvin
5f568d681a
Update docker/linux to get gcc v11
2022-09-21 00:17:28 -05:00
John Colvin
83a2147428
build (sparkd): Enable Binance for ccapi
2022-09-21 00:14:38 -05:00
John Colvin
9dd2cee6d9
refactor: Repurpose ccapi ftx-impl for general use
2022-09-21 00:14:38 -05:00
Taha Afzal
57365013bd
CCMarketDataListener is mostly complete, error handling and RFQs/state remains
2022-09-21 00:14:38 -05:00
Taha Afzal
3d55ef075b
CCMarketDataListener writes its security to shared memory now
2022-09-21 00:14:38 -05:00
Taha Afzal
14da6461b1
Constructor added to CCMarketDataListener
2022-09-21 00:14:38 -05:00
Taha Afzal
e84d3df024
Adding skeleton
2022-09-21 00:14:38 -05:00
John Colvin
ed38fe0ce9
fix build (web): Install webpack-cli
2022-09-21 00:14:38 -05:00
John Colvin
b5daee3bcf
build (web): Replace deprecated fn copy_tree w/ copytree
2022-09-21 00:14:38 -05:00
John Colvin
f5c8c29f5a
build: Migrate web build to net6.0
...
Clean up the web build process a bit while we're at it
* Add 'custom_commands' to run npm install in CMakeLists
* Generate tsconfig files for CMake preset configurations
* Rename local variables to _snake_case in CMakeLists
2022-09-21 00:14:38 -05:00
John Colvin
89fa2eae50
build: Enable web build in wsl
...
Not sure why this was disabled in the first place
2022-09-21 00:14:38 -05:00
John Colvin
41b8c9238c
build: Remove server/sparkd from libspark include path
2022-09-21 00:14:38 -05:00
John Colvin
28b66306da
chore (linux build): Add benign changes to satisfy gcc11
2022-09-21 00:14:38 -05:00
John Colvin
0bdbc1897a
chore (linux build): Add benign changes to satisfy clang13
2022-09-21 00:14:38 -05:00
John Colvin
c3d9443a89
build: Automate venv activation in server build
2022-09-21 00:14:38 -05:00
John Colvin
400db13a78
build: Update cmake-min-version to 3.12
...
Several 'add_compile_definitions' calls were added to the root
CMakeLists.txt as part of the ccapi_cpp lib integration (3.12 is the
version in which that call was introduced)
2022-09-21 00:14:38 -05:00
John Colvin
1d7d5858d5
build: Add script to build sparkd (server)
...
Similar to the py script used to build spark (client), 'build_spark.py'.
2022-09-21 00:14:38 -05:00
John Colvin
8792f24c5d
refactor (build): Move '_exit' to common module logging
...
Also rename 'exit_msg' since 'exit' is already a builtin fn
2022-09-21 00:14:38 -05:00
John Colvin
76d35b16eb
refactor (build): Change SparkPaths to return Path objs
2022-09-21 00:14:38 -05:00
John Colvin
81f7fe72ab
refactor (build): Move CWD & SparkPaths to common module file_utils
2022-09-21 00:14:38 -05:00
John Colvin
649ba11edb
Update docker/linux
2022-09-21 00:14:32 -05:00
John Colvin
2fc6d7c262
Update externals
...
* Upgrade ccapi to v5.31.2
* Upgrade emumba to v3.0.6
* Update emumba license (good til 2023-08-01)
2022-09-19 17:50:40 -05:00
John Colvin
45421eedce
chore: Move 'CME' specific script to 'cme' dir
2022-09-19 17:50:40 -05:00
John Colvin
8ecb3118e4
refactor (script): Use Path type rather than str
2022-09-19 17:50:40 -05:00
John Colvin
3fdb10890d
chore: Rename scripts w/ consistent grammar
2022-09-19 17:50:40 -05:00
John Colvin
2a6224c88d
chore: Move py scripts/utils into 'py' dir
2022-09-19 17:50:40 -05:00
John Colvin
8d6ddc8250
chore: Remove unused legacy scripts
2022-09-19 17:50:40 -05:00
John Colvin
6cc8590a1c
build: Use venv python to execute buildspark.py
...
Previously, the virtual environment was activated in the Proto3 build target.
Since the proto3 build target is executed once per proto file, and 91 proto
files are processed during the client cs build, this added significant time to
the build. For example, on [John's]my laptop, activating the venv takes ~0.15s,
which amounts to ~9.55 secs per build.
2022-09-19 17:50:40 -05:00
John Colvin
063d908775
build: Remove unused legacy build script
2022-09-19 17:50:40 -05:00
John Colvin
93565f0ebf
fix (jenkins): Update jenkins build procedures for spark-crypto
2022-09-19 17:50:40 -05:00
John Colvin
1d7fcf5d18
build: Move ':create_venv' fn to its own cmd script
...
So jenkins scripts can reference it as well as buildspark.cmd
2022-09-19 17:50:40 -05:00
John Colvin
897d20f12f
build: Refactor buildspark.py so 'build' fn can be imported
...
This way, jenkins build/deploy py scripts can import 'buildspark.build', and thus
don't have to than re-invent the 'build' wheel
2022-09-19 17:50:40 -05:00
John Colvin
a928925252
build: Add 'publish' target to build script for jenkins
2022-09-19 17:50:39 -05:00
John Colvin
4088affa15
fix (sparkd clang): Use 'clang' c compiler w/ 'clang++'
...
Otherwise cmake picks 'cc' by default
Bugs (fixed):
* Sparkd crashes due to strange runtime error related to multithreaded access
of std::promise in clang builds
2022-09-19 17:50:39 -05:00
Taha Afzal
7def6aacd2
MergedMDDaemon has a timer that can periodically remove expired contracts (not enabled right now)
2022-09-16 09:51:27 -04:00
Taha Afzal
94ae1780cd
Expired contracts are filtered out from the risk report
2022-09-16 09:51:27 -04:00
John Colvin
2c65c4376b
fix (orderbook): Invalid row view when qty display changes
...
Bugs (fixed):
* Orderbook qty formatting is inconsistent across Orderbook instances. Within
one Orderbook, the formatting does seem to be consistent.
2022-09-15 16:02:34 -04:00
John Colvin
68bb3dbfa1
refactor: Remove redundant member 'filled_quantity_text'
...
It is redundant since another prop, 'display_filled_quantity_text', returns the
exact same value. Eventually we should bring this prop back and replace the
'display_' one. The latter is a legacy prop, from the time before we had proper
Security metadata config. Removing the former for now because having both of
them causes needless confusion.
2022-09-15 15:58:23 -04:00
John Colvin
82a73693a6
fix: Post keyed theos to bus
...
They were already being created, just not published (perhaps due to a bad merge)
2022-09-15 15:39:38 -04:00
John Colvin
612cd4a4c8
fix: Remove refs to invalid 'default' SecurityImmutable
...
It's most (probably all) cases where a static 'default' SecurityImmutable is
used, a Nullable<SecurityImmutable> would more accurately represent the state,
which could likely (probably always) be described as "waiting for my real
security from an asynchronous source."
Bugs (fixed):
* [Race] When Fills window opens, an exception is thrown if the sec-filter's
items are sorted with a 'default' SecurityImmutable.
Cause: The static default SecurityImmutable doesn't have an underlying sec
type (i.e., ContractOneofCase == None). The compare fn doesn't support
this.
TODO (maybe): It might be a good idea to 'fix' the compare fn as well
(i.e., make it support 'None' sec types)
TODO (probably): Remove remaining references to the static default
SecurityImmutable
2022-09-15 15:39:38 -04:00
John Colvin
b3828dfc53
refactor: Add lazy param factory logic to SparkCommand
...
Some SparkCommands convert their parameter to another object that is posted to
the bus when the command is executed. The lazy param factory logic allows those
SparkCommands to hold off on converting the parameter until just before execution.
Thus, these SparkCommands naturally avoid passing invalid parameters to the
delegate (assuming the 'can_execute' evaluates to false for invalid parameters).
2022-09-15 15:39:38 -04:00
John Colvin
01f26567ed
refactor: Get rid of SecurityGrid base class
...
It was pretty old code, and needed to be removed due to its dependence on
non-null SecurityImmutables. The 'default' SecurityImmutable object is invalid,
and throws in its property accessors since the underlying Security object is null.
2022-09-15 15:27:35 -04:00
John Colvin
90d21c9c15
refactor (synth man): No need to support vm reassignment
...
This was over-engineering..it made things complicated for zero benefit
2022-09-15 15:27:35 -04:00
John Colvin
6351c1340e
refactor: Rename SelectManyInSeries -> SelectSeries
...
Shorter is better in this case
2022-09-15 15:27:35 -04:00
John Colvin
18cdddf76d
git: Remove phantom submodule
...
Can't recall why 'deribit-crypto-connector-demo-application' was added as a
submodule in the first place. It has no actual corresponding files in the main
repository, just an entry in the '.gitmodules' file. Removing it now because
it's causing jenkins builds to fail (jenkins attempts to clone all submodules
in the .gitmodules file, and it doesn't have access permission on this one).
2022-09-08 22:07:05 -04:00
John Colvin
b14c8bb1ac
Update docker/linux
...
* Get ccapi deps again (after rebasing the 'ccapi deps' commit in
docker/linux)
* Upgrade dotnet from a mixture of v2 & 3 to v6.0
2022-09-04 14:37:59 -04:00
John Colvin
ceff286120
fix build (server w/ ccapi-disbaled): Add ifdef SPARK_ENABLE_CCAPI ppds
2022-09-02 11:48:12 -04:00
John Colvin
59aa4677e8
Update docker/linux
...
To get rapidjson-dev (ccapi dep)
2022-09-02 11:31:58 -04:00
John Colvin
996cd4c856
fix (ladder settings ui): Init 'use_self_security' properly
...
When loading settings obj
2022-09-02 10:30:08 -05:00
John Colvin
9287149c26
refactor: Clean up 'bts.api.core.Result<T>'
...
Impl ToString while we're at it
2022-09-02 10:14:02 -05:00
John Colvin
306b56a999
fix (hopeful): Make sure callback disposed after subscription
...
Hopefully this fixes the 'Garbage Collected callback' crash on login
2022-09-02 09:45:02 -05:00
John Colvin
812cf0a43f
fix (man fills ui): Remove erroneous extra ladder button
2022-09-02 09:42:25 -05:00
John Colvin
2c539fd833
ui (ladder settings): Select self in sec-picker by default
...
For pre-existing fair value lines (this behavior's already implemented for new
fair value lines)
2022-09-01 11:07:51 -04:00
John Colvin
334295ed67
fix (ladder settings ui): Fix typo in binding
...
Resolve discrepancy between between xaml/cs
Bugs (fixed):
* Color palette section is empty in Fair Value Line color picker
2022-09-01 01:25:58 -04:00
John Colvin
c157b9cdfd
ui (ladder): Add 'Use Self Security' checkbox to settings ui
...
Incorporate it into the settings protobuf by making the security_key field
nullable and allowing 'null' to mean 'Use Self Security'
2022-09-01 01:21:09 -04:00
Taha Afzal
8280b7a815
Fixing Deribit order minor issues that were causing the spreader to cancel its child orders
2022-08-31 15:17:35 -04:00
Taha Afzal
fb7f982c65
Improving the logs
2022-08-31 15:17:35 -04:00
John Colvin
75b50d93e8
feat (orderbook): Add button to launch Ladder
2022-08-31 01:13:42 -04:00
John Colvin
865bdac9df
refactor: Enable nullable in LadderWindow.cs
2022-08-31 01:13:42 -04:00
John Colvin
ebe5f468d7
feat (open orders): Add button to launch Ladder
2022-08-29 22:54:48 -04:00
John Colvin
1bc8d886f4
fix: Don't reopen window on synchronous shutdown
...
Even if 'e.Cancel' is true, as the initial 'Closing' event is always canceled
to allow for asynchronous teardown
2022-08-29 22:54:48 -04:00
John Colvin
38e352e0d3
feat (man fills): Add button to launch Ladder
2022-08-29 22:54:48 -04:00
John Colvin
f6079e7031
refactor: Clean up ManualFillsWindowFactory
...
After refactoring the shell window logic into new 'ManualFillsWindow' class
2022-08-29 22:54:48 -04:00
John Colvin
8c51488190
refactor: Make proper ManualFillsWindow class
...
Instances of this class are generated instead of 'anonymous' shell windows.
This makes for cleaner code, better stack traces, etc.
2022-08-29 22:54:48 -04:00
John Colvin
9aad08ada6
feat (day fills): Add button to launch Ladder
2022-08-29 22:54:48 -04:00
John Colvin
2d3d11ba59
fix (ui): Set disabled animation KeyTime to 0
...
Bugs (fixed):
* The disabled button animation in SparkMenu (toolbar) is laggy
2022-08-29 22:54:47 -04:00
John Colvin
6087953185
feat (fills): Add button to launch Ladder
2022-08-29 22:54:47 -04:00
John Colvin
851654c8a5
feat (rec rep): Add button to launch Ladder
2022-08-29 22:54:47 -04:00
John Colvin
57a4745e29
feat (ladder): Add 'Theo' fair value line
2022-08-28 14:13:10 -05:00
John Colvin
32cd00895e
fix: Add null check in ContractPickerVM
...
The ContractPickerPopup's SecurityMap binding source may produce null values
during normal operations (esp when opening/closing the popup, as the binding
source may depend on visuals that are initialized/destroyed when the popup
opens/closes).
2022-08-28 13:51:04 -05:00
John Colvin
dee5f2684f
fix: Add 'IsEnabledForegroundConverter' to ResourceDictionary
...
Bugs (fixed):
* Client crashes when ladder settings dialog is opened
2022-08-28 13:21:27 -05:00
John Colvin
f639a526cf
refactor: Consolidate Co2 & md dirs into MarketData dir
2022-08-28 11:16:56 -05:00
Taha Afzal
d168d8712e
Added Keyed Theos that can be used to get theos from security ids
2022-08-25 11:58:54 -05:00
John Colvin
78a9605383
Update docker/linux
...
To get latest cmake
2022-08-24 01:34:38 -05:00
John Colvin
a713b1018e
fix (preemptive pnl): Actually use eq_comparer member
...
To determine when value changes occur (when to raise prop-changed event, etc.)
2022-08-23 16:54:31 -04:00
John Colvin
9f626dd10c
ui (launcher): Use consistent margin between buttons
2022-08-23 16:54:31 -04:00
John Colvin
8ec7fdd60a
ui (launcher): Remove pointless separator bar
2022-08-23 16:54:17 -04:00
John Colvin
ffb2245ae6
refactor: Clean up immutable.pb.cs code-gen template a bit more
...
So the generated code more closely follows our formatting practices
2022-08-23 16:54:17 -04:00
John Colvin
21051c9a0b
fix (pnl): Support Exp group popups filtering
2022-08-23 16:54:17 -04:00
John Colvin
1c8bd34144
ui (launcher): Remove pointless Help button
2022-08-23 02:29:05 -04:00
John Colvin
f614fb7e7d
ui (pnl): Indicate 'has day trades' w/ check mark
...
Instead of 'Yes/No'
2022-08-22 17:10:03 -04:00
John Colvin
b222cd3e55
ui (pnl): Drop border between group/section headers
...
It needlessly clutters the ui, since the contrasting backgrounds already
illustrate the distinction
2022-08-22 16:55:18 -04:00
John Colvin
4f2be64813
ui: Rename 'P&L' -> 'P&L Summary', 'Day P&L' -> 'P&L Day Fills'
2022-08-22 16:43:31 -04:00
John Colvin
bfb73ffc5a
refactor: Add 'Freeze' prop to BTSBrushExtension
2022-08-22 16:08:40 -04:00
John Colvin
9bb7025752
fix: Don't share nonfrozen Brushes across threads
...
Bugs (fixed):
* Grid settings dialogs crash when multiple are opened on diff threads
Cause: Brushes (and all Freezables) that haven't been frozen throw an ex when
any Dependency Properties are accessed from a thread that isn't associated
with their Dispatcher (i.e., the thread on which they were created).
2022-08-22 16:08:40 -04:00
John Colvin
bbfbd0b691
ui (launcher): Drop 'Reports' from buttons in Analytics module
...
Also change 'Vol Surfaces' -> 'Vol Surface' to be consistent (dropping
'Reports' from the other buttons made them singular)
2022-08-22 11:41:10 -04:00
John Colvin
5628e96a90
ui: Speed up expand/collapse animation in settings dialogs
2022-08-22 10:03:28 -04:00
John Colvin
ef517b7554
ui: Reduce column resize-grip width
...
It blocks too much of the column filter's clickable area
2022-08-22 01:46:01 -04:00
John Colvin
ba06af327d
ui (slide, combo): Drop ':' in last trade desc
2022-08-22 01:30:31 -04:00
John Colvin
b8b03172bc
ui (slide): Display vol save & update times adjacently
2022-08-22 01:30:31 -04:00
John Colvin
fb5c3c1e6e
fix (orderbook-panel): Stretch visible items to fill dead space
...
Clean up the OrderBookView's VisualState's a bit in the process. Set each
item's visibility to 'Collapsed' by default, and flip to 'Visible' in the
VisualStates
2022-08-22 01:30:31 -04:00
John Colvin
faaa7b11d4
fix (orderbook-ladder): Auto scroll to selected order
...
This used to work, not sure when it broke
2022-08-22 01:30:31 -04:00
John Colvin
92a0467e1e
fix (orderbook-ladder): Detect LadderVM changes w/ default Equals
...
Bugs (fixed):
* OrderBook ladder doesn't show orders
* OrderBook ladder doesn't allow user to scroll beyond initial price range
Cause: Both bugs occur because the LadderVMContainer doesn't detect LadderVM
instance changes unless LadderVM.security has changed
2022-08-22 01:30:31 -04:00
John Colvin
3bb2025ea2
fix (ladder): Make sure price-range 'busy' is flipped back to false
...
Once the async price-range-shift op is completed
Bugs (fixed):
* Can't scroll beyond initial price range in orderbook ladder
Cause: The LadderGridHost's price-range-shift 'busy' flag gets stuck to false
2022-08-22 01:30:31 -04:00
John Colvin
f2730ff0d7
doc: Add documentation for Task.ignore ext
2022-08-22 01:30:31 -04:00
John Colvin
7fcff9e5b4
refactor: Clean up MarketViewAnimation code a bit
2022-08-22 01:30:31 -04:00
John Colvin
51f83f4880
refactor: Rename 'HashCode.with' -> 'with_values'
...
Repurpose 'with' to accept a single value
2022-08-22 01:30:31 -04:00
John Colvin
88cb510aea
refactor: Remove the ulong 'lldatetime' ext
...
It's too esoteric. Most ulongs don't represent an 'LLDateTime'
TODO: Consider removing the uint 'argb' extensions for same reason
2022-08-22 01:30:14 -04:00
John Colvin
452c642af0
refactor: Rename TryFirst ext FirstOrNull
...
Also move to it from APIExtensions to EnumerableExtensions
2022-08-22 00:05:08 -04:00
John Colvin
3fafc5004e
refactor: Clean up LazySubscription, move to Spark.Core.Disposables ns
2022-08-22 00:05:07 -04:00
John Colvin
fd8e502140
refactor: Lock private obj (not 'this')
...
'Lock(this)' is generally bad practice. It's better to use an explicitly named
var that is minimally accessible to outside callers to reduce risk of deadlocks.
2022-08-22 00:05:07 -04:00
John Colvin
b499a5c38b
refactor: Move IDisposable utils to Spark.Core.Disposables ns
...
* Move Anonymous/FinalizableDisposable to own file
* Rename DisposableCombo -> ImmutableDisposable and move it to its own file
* Clean up IDisposable utils impl, but keep changes to calling code minimial
2022-08-22 00:05:04 -04:00
John Colvin
2320383b16
refactor: Remove DisposableContainer class
...
It's innately antithetical to the Dispose pattern, as it can never truly be
disposed
2022-08-22 00:03:11 -04:00
John Colvin
59b3e73330
fix: Assign IDisposable to _dispose member (not local var)
...
So it is properly disposed, and not just eventually collected by GC
2022-08-22 00:03:11 -04:00
John Colvin
9d9a1b86c4
fix: Fix typo in 'init_auto_login'
...
The 'SubscribeClosed' call should be executed immediately, and the returned
IDisposable disposed when 'login_hooks' is disposed (prior to this commit, it
wasn't calling 'SubscribeClosed' until login_hooks was disposed)
2022-08-22 00:03:11 -04:00
John Colvin
21cc2cefbf
refactor: Un-nest SelectorWrapper class, rename SelectorList
2022-08-22 00:03:11 -04:00
John Colvin
904df4260d
fix (preemptive): Fix typo in SelectorWrapper list
...
Bugs (fixed):
* [preemptive] SelectorWrapper.IsReadOnly is wrong
Details: The fix is considered 'preemptive' because this prop is almost
certainly not referenced. Nevertheless, the impl ought to be correct.
2022-08-22 00:03:11 -04:00
John Colvin
af785d5d0b
fix: Make sure ThreadSafeEvent uses same lock as owner
2022-08-22 00:03:11 -04:00
John Colvin
1d796856ca
refactor: Make spark_api depend on spark_core (not other way around)
2022-08-22 00:03:11 -04:00
John Colvin
35f0d5a53f
refactor: Split (Equality)Comparer utils up into modular classes
2022-08-22 00:03:10 -04:00
John Colvin
2b2fdd2b94
refactor: Remove borderline useless TaskExtensions
...
There were few references to these extensions, and many weren't referenced at all
2022-08-22 00:03:10 -04:00
John Colvin
9e4539a902
refactor: Remove unused code
2022-08-22 00:03:05 -04:00
John Colvin
a76c8ffd98
fix: Fix typo 'is not null' -> 'is null'
...
Bugs (fixed):
* Window size isn't restored if window has multiple tabs
Cause: The typo flips the bool arg that indicates whether or not a window
should be measured and fit to size (as happens when a window is opened for
the first time)
2022-08-18 16:17:22 -04:00
John Colvin
d7474cb8da
fix (ui): Await settings-save before disposing IShellWindow
...
Bugs (fixed):
* Can't reopen Fills windows via undo/redo in the BookMarks module
Details:
* Only applies to Fills windows closed via the tab-close 'x' button (not
the window-close 'x' button)
* Doesn't cause a crash, nor exhibit any side effects (aside from breaking
undo/redo)
Cause:
* ISlow/SharedWindows (i.e., shell windows that run on bg threads) are
disposed before the ISettingsCollector retrieves their state via
'IShellWindow.SaveState'. The FillsWindow sets its _vm member to null
when it is disposed, leading to a null-ref ex in its SaveState getter.
This ex is caught (synchronously) and logged as an error, which explains
the lack of side effects.
2022-08-18 13:57:44 -04:00
John Colvin
890a23a537
refactor: Rename AsyncEvent.invoke -> Invoke
...
To be syntactically consistent w/ csharp delegates (and the wpf Dispatcher,
which has Invoke/InvokeAsync methods)
2022-08-18 12:39:57 -04:00
John Colvin
ab17eee260
refactor: Remove unused code
2022-08-18 12:39:57 -04:00
Taha Afzal
acadc3bd7c
Fixing merge conflict
2022-08-17 20:26:23 -04:00
Taha Afzal
8701fb7132
Fixing qty in ExchangeOpenOrders for fractional qty orders
2022-08-17 14:12:23 -04:00
Taha Afzal
89fcb3092b
Fixing merge conflict
2022-08-17 12:54:27 -04:00
John Colvin
c9856b96ae
fix build (client): Remove erroneous using statement
2022-08-16 21:12:49 -04:00
John Colvin
04477a4b7c
refactor: Don't copy strings
2022-08-16 21:08:53 -04:00
John Colvin
99371a2ead
feat: Add Open Orders window
2022-08-16 17:25:03 -04:00
John Colvin
70487a8ef7
ui: Make 'B/S' the standard header for 'Side' cols
...
Until now, this header was hardcoded in OrderBookSettings
2022-08-16 17:25:03 -04:00
John Colvin
44c419fdaf
refactor: Move bool-check converter from rec rep to common place
...
Will be used in the new Open Orders window
2022-08-16 17:25:03 -04:00
John Colvin
5eb151f9a0
refactor: Move common orderbook col headers to shared place
...
Specifically, col headers that will be used in the new Open Orders window, for
consistency's sake
2022-08-16 17:25:03 -04:00
John Colvin
855a939c51
refactor: Return obj from Log.not/isnull fns
...
For convenience, so these calls may be used in a chain like manner, etc.
2022-08-16 17:25:03 -04:00
John Colvin
7071d9b961
refactor: Add Not/MaybeNull attributes to Log.not/isnull fns
...
So the compiler recognizes these methods guarentee a particular result of
the expression 'obj is null'
2022-08-16 17:25:03 -04:00
John Colvin
adf14491bc
refactor: Check if obj is of type 'T' in Optional<T>.Equals
2022-08-16 17:25:03 -04:00
John Colvin
7e0e8f2801
refactor: Clean up Optional<T>
2022-08-16 17:25:02 -04:00
John Colvin
4a37e2d6a6
refactor: Implement IKeyedData in generated cs pbuf types
...
For convenience, so we don't have to pass key-selector lambdas all over the
place when dealing w/ IObservable<TableUpdate>s from the pbuf services
2022-08-16 17:25:02 -04:00
John Colvin
12b2371a69
style: Clean up api code-gen template immutable.pb.cs
2022-08-16 17:25:02 -04:00
John Colvin
c19d173983
refactor: Move SecurityStore to spark_core, rename Resolver
2022-08-16 17:25:02 -04:00
John Colvin
203164f372
fix (preemptive): Init default UserSettings.day_fills_grid
...
This fix is preemptive because the hardcoded Day Fills defaults are automatically
used when the UserSettings.day_fills_grid member is null
2022-08-16 17:25:02 -04:00
John Colvin
6f69f1c2e2
fix (preemptive): Apply Day Fills settings migration rules
...
This is a preemptive fix bc as of now (8/14/2022), there are no Day Fills
migration rules
2022-08-16 17:25:02 -04:00
John Colvin
ad1a585b5c
refactor: Move Optional into Spark.Core
2022-08-16 17:25:02 -04:00
John Colvin
f29e367ec7
refactor: Clean up ObservableSortedCollection
...
* Enable nullability
* Run formatter
* Add readonly specifiers where possible
* Improve documentation
2022-08-16 17:25:02 -04:00
John Colvin
18127383f0
refactor: Make IObservableCollection inherit IReadOnly
2022-08-16 17:25:02 -04:00
John Colvin
b450c757c9
refactor: Move ObservableSortedCollection to Spark.Core.Collections
2022-08-16 17:25:02 -04:00
John Colvin
836683bcbe
refactor: Move IObservableCollection to Spark.Core.Collections
2022-08-16 17:25:02 -04:00
John Colvin
c271af30d8
refactor: Get rid of non-generic InsertRange ext
2022-08-16 17:25:02 -04:00
John Colvin
31fab94208
refactor: Get rid of non-generic AddRange ext
...
Most references to this fn were by generic IList<T>s. This resulted in error
prone, misleading code as such calls subtly bypass the compile-type type
constraints provided of the generic impl.
2022-08-16 17:25:02 -04:00
John Colvin
a9b5067d7a
refactor: Move fns from GlobalExtensions to less vague classes
2022-08-16 17:25:01 -04:00
John Colvin
7a31b025a2
refactor: Add 'ms' suffix to exch-open-order timestamp fields
...
Just to make it clear that they are milliseconds (not nanos, micros, etc.)
2022-08-16 17:24:52 -04:00
John Colvin
31897a1b2e
refactor: Change exch-open-order record_id to auto-incremented int
...
To insulate ourselves from potential duplicate-id bugs at the exchange
2022-08-16 16:46:47 -04:00
John Colvin
f93bc592cb
fix: Set RetrievedExchangeOpenOrder.exchange_order_id
...
Bugs (fixed):
* The 'exchange order id' field is empty in open orders data received
by client
2022-08-16 13:22:38 -04:00
John Colvin
6ca2753951
fix (vs): Use precison in terms of actual data for eq comp
...
Bugs (fixed):
* The tick up/down buttons have no effect for vol input cells
Cause: The cell vm ignores some value updates because the equality
comparer incorrectly considers the new value equal to the current one
(because it doesn't use enough decimal places in the comparison)
2022-08-11 01:33:43 -04:00
Taha Afzal
470ca0093e
Adding more logging helpers to VolSurfaceTroubleshootingFunctions
2022-08-10 20:54:10 -04:00
John Colvin
7e1715964f
fix (vs): Pass the vm's 'current_grid' to the model
...
Bugs (fixed):
* Cannot edit volsurface cell values (they are immediately reverted)
Cause: The vm was passing the model's grid back to itself before, effectively
undoing manual edits in cells
2022-08-10 18:27:41 -04:00
John Colvin
39e929a614
fix: Actually use eq-comp member in Property vm
2022-08-10 18:17:58 -04:00
John Colvin
a9aa06f275
fix (vs): Actually use coulmn comparer in cell vm
2022-08-10 18:11:27 -04:00
John Colvin
54510c9e59
refactor (vs grid): Supress recalc reqs while processing update
2022-08-10 14:26:28 -04:00
John Colvin
cb56429f04
refactor: Rename 'execute' -> 'Invoke'
...
To be consistent and interchangeable w/ System.Action
2022-08-10 14:26:28 -04:00
John Colvin
ac8147cc0f
refactor: Add 'implicit operator T(Optional<T>)' for convenience
2022-08-10 14:26:28 -04:00
John Colvin
82ac189ac9
refactor: Strip 'Wrapper' from 'DeferrableActionWrapper' name
2022-08-10 14:26:27 -04:00
John Colvin
5721ff78b6
fix (vs): Only request recalc when input changes (not output)
...
Bugs (fixed):
* The volsurface grid can get into an endless loop of recalc requests
2022-08-09 15:56:05 -04:00
John Colvin
7afd2947f1
refactor: Clean up vs grid vms a bit
...
* Split vs-cell-vm classes up into own files
* Rename classes by changing 'VolGrid' prefix to 'VolSurface'
* Remove unused struct VolSurfaceCellState
* Enable nullable
* Run formatter
2022-08-09 15:55:40 -04:00
John Colvin
c3e3862c5f
refactor: Update vs cell 'is_dirty' synchronously when vals change
2022-08-09 02:57:35 -04:00
John Colvin
bf2dc9ecca
fix (vs grid): Account for nan & rounding error
...
Bugs (fixed):
* The volsurface grid starts flasing is_dirty borders all over the place. The
repro is inexact, but it seems to happen after inputs are changed a few
times (perhaps from loading a previous volsurface).
* The volsurface grid flashes is_dirty borders just from clicking on an input
cell (even if no change is entered).
2022-08-09 02:57:35 -04:00
John Colvin
e0e188a02c
refactor: Enable NaN identity equality in tick_equals
2022-08-09 02:57:35 -04:00
John Colvin
79ba1654d3
fix: Fix typo in tick_equals fn
2022-08-09 02:57:35 -04:00
Taha Afzal
2aab0d18a5
Formatting slide exp, to look like PNL's
2022-08-08 23:45:02 -04:00
John Colvin
312c8ded11
fix (ui pnl): Add greek props to group row vm
...
Bugs (fixed):
* Greek sums still aren't visible in group rows (though they are visible in
Selected/Total header rows)
2022-08-08 16:11:25 -04:00
John Colvin
3f86779da6
ui (launcher): Move PNL menu items to Analytics module
2022-08-08 16:11:25 -04:00
John Colvin
716d3b8482
ui (day fills): Make title & icon consistent w/ PNL win
2022-08-08 16:11:25 -04:00
John Colvin
24f6dbc4f0
ui (day fills): Convert fill_time utc to local
2022-08-08 16:11:25 -04:00
John Colvin
3e943fa35e
refactor (pnl): Add 'PNL' prop to Icons class
...
To make it clear which icon belongs to which window
2022-08-08 16:11:25 -04:00
John Colvin
457f878b41
ui (pnl): Change win title to 'P&L' to match launcher menu item
2022-08-08 16:11:25 -04:00
John Colvin
ac2b2d042a
refactor: Split WorkspaceProtos up into 1 class/file
2022-08-08 16:11:25 -04:00
John Colvin
829d2cdbf6
refactor: Provide ICloneable impl in IProtobuf<T>
2022-08-08 16:11:25 -04:00
John Colvin
3cd9693b36
diag (vs): Log cell vm 'is_dirty' changes
2022-08-08 16:11:25 -04:00
John Colvin
2b52ecf2ef
perf (vs): Supress repeated 'is_dirty' updates
...
Before the updates reach the dispatcher thread
2022-08-08 16:11:25 -04:00
John Colvin
faab60cbc1
ui (vs): Convert NaN to 0 when users clicks tick up/down
2022-08-08 16:11:25 -04:00
John Colvin
b6be0d649d
fix (vs): Don't throw ex if parse_double input is null
...
Bugs (fixed):
* Previous vol surfaces may have missing data, which can lead to an assert
crash in the parse_double fn
2022-08-08 16:11:25 -04:00
Taha Afzal
2a65c45d21
Theos/Greeks are still produced if AW2 window is not loaded
2022-08-08 16:00:48 -04:00
Taha Afzal
dc6ae2ac29
Removing P from the names of greek columns in Day PNL
2022-08-08 11:53:56 -04:00
Taha Afzal
df4250c33a
Hooking AW2 populate empty exps
2022-08-07 22:03:50 -04:00
John Colvin
53504ef6f0
ui (pnl): Improve default settings
2022-08-07 15:18:16 -04:00
John Colvin
10afb1af06
ui (pnl): Show greek sums in group/header rows
2022-08-07 14:59:00 -04:00
John Colvin
a9149dfa87
refactor: Clean up PNLNormalizedData
...
* Use new lang feats: nullable, and 'init' prop setters
* Group 'sod', 'day', and 'working' members in respective groups
* Run formatter
2022-08-07 14:39:44 -04:00
John Colvin
5afa6695e7
fix (pnl view): Enforce min height for 'Selected' header row
2022-08-07 13:51:55 -04:00
John Colvin
d2a6d54090
refactor (pnl): Replace dyn resources w/ Bindings in xaml
...
Traditional Bindings are more performant than DynamicResources, and make for
cleaner code
2022-08-07 13:51:55 -04:00
John Colvin
794ac25c01
log: Change 'Begin/End' tags to 'BEG/END' in log_op ext
...
Improves readability of log_op logs
* Gives the 'BEG/END' tags a uniform width, so their msg bodies will align
* All caps makes the tags stand out
Improves readability by providing uniform width to the BEG/END tags
2022-08-07 13:51:55 -04:00
John Colvin
37214e9480
refactor: Make msg body param optional in 'fn' logger exts
2022-08-07 13:51:55 -04:00
John Colvin
90ab551778
ui (day fills): Format dates in exp col filter
2022-08-07 13:51:54 -04:00
John Colvin
9a4ec46440
fix: Don't begin shutdown til after workspace saved (async)
...
Bugs (fixed):
* Seems like only one window's settings are restored w/ workspace
2022-08-07 13:51:54 -04:00
John Colvin
c86d283755
fix: Supress empty TableUpdates in 'distinct_on'
...
Bugs (fixed):
* Discrete values column filters (i.e., multi-selector views) that are driven
by 'distinct_on' IObservable<TableUpdate> deselect items when the main
grid data changes
Cause: When processing updates from the input IObseravble, the 'distinct_on'
ext doesn't check if the new/old results are equal. This in turn causes the
selector-view to remove, then re-add items that didn't actually change.
Exhibiting reasonable behavior, the view deselects items when they are removed
from the ItemsSource.
2022-08-07 13:51:54 -04:00
John Colvin
941956c1b5
fix: Actually supress false changes in 'to_table_checked' ext
2022-08-07 13:51:54 -04:00
John Colvin
67e3d22104
style: Fix typo in param name '_selector' -> 'selector'
2022-08-07 13:51:54 -04:00
John Colvin
7e41c93f9a
refactor: Rename PNLFilterStates -> PNLFilterSettings
2022-08-07 13:51:54 -04:00
John Colvin
086ccbb3fa
refactor: Weaken T constraint for is_within_range ext
...
There is no reason T has to implement IFloatingPoint<T>
2022-08-07 13:51:54 -04:00
John Colvin
329ddc576d
ui (day fills): Add (groupable) exp column
2022-08-07 13:51:54 -04:00
John Colvin
1faef425ab
refactor: Consolidate format_expiration fns into single fn
2022-08-07 13:51:54 -04:00
John Colvin
bb068cf6b2
fix (preemptive): Add 'Option' case to exp switch expr
2022-08-07 13:51:54 -04:00
John Colvin
f7cade41c6
ui (day fills): Fmt qty cols w/ sec-meta display settings
2022-08-07 13:51:54 -04:00
John Colvin
47afd3a911
ui (day fills): Hide bid/ask cols by default
2022-08-07 13:51:54 -04:00
John Colvin
ef80d2a41d
ui: Shorten a few default column widths
...
Namely: Account, Exchange, and Symbol
2022-08-07 13:51:53 -04:00
John Colvin
44ef080e9f
ui (day fills): Format theo and driver w/ 4 dec places
...
With the caveat that future fills' drivers are formatted according to their own
tick factors (i.e., same as the "price" column). This should be good/reasonable
behavior because in rare cases where futures don't drive themselves, they are
most likely driven by a neighboring expiration with the same price display.
2022-08-07 13:51:53 -04:00
John Colvin
fef8d2c413
ui (day fills): Format price w/ sec's tick factors
2022-08-07 13:51:53 -04:00
John Colvin
201746e561
fix (day fills): Init column models w/ settings
...
Bugs (fixed):
* Day fills column settings are not restored with workspace
Cause: This is a kind-of re-entrancy bug. When the SimpleGridSettingsManager
attempts to load the initial column settings, it assigns props in the column
views. When the width prop is set, the column view forwards the new width to
the model, which causes the model to fire a settings_changed event, which
pipes the model's settings (which have not been fully initialized) back to
the view.
2022-08-07 13:51:53 -04:00
John Colvin
8e375a0b7f
ui (day fills): Use qty fg to indicate fill side
...
Rather than using the row bg, this gives the win a subtler, more modern look
2022-08-07 13:51:53 -04:00
John Colvin
045f3dc060
chore: Move ValueConverter into own file
2022-08-07 13:51:53 -04:00
John Colvin
6b6012236d
ui (day fills): Add pnl, delta foreground triggers
2022-08-07 13:51:53 -04:00
John Colvin
9cee798939
chore: Set ModalStateDefinition ContentProperty
...
For convenience in xaml (so ModalStateDefinition.Source can be defined without
explicit tag)
2022-08-07 13:51:53 -04:00
John Colvin
c79bdb12e0
refactor: Make ActivityLogCategories readonly props
2022-08-07 13:51:53 -04:00
John Colvin
bce77d65de
fix: Add null check in OptionsView
...
Bugs (fixed):
* If an Options View window is launched w/ "incomplete" security criteria
(i.e., not a tuple of Exch, Type, Sym), a null ref crash happens when the
window is restored with the workspace.
2022-08-07 13:51:53 -04:00
John Colvin
0db814ef2d
fix (rec rept): Use tick-factors to avoid rounding errors
...
Bugs (fixed):
* Reconcile Report can show false positive price mismatch
Cause: The epsilon const (1E-12) used in the price comparison too small.
Evidently, the Deribit-position prices provided to the Reconcile Report are
only accurate up to 9 decimal places.
2022-08-07 13:51:53 -04:00
John Colvin
31b5ec4bd3
fix (fills view): Change side col base class row type to the vm
...
Bugs (fixed):
* In the Fills window, side column cells are empty
2022-08-07 13:51:52 -04:00
John Colvin
e15cdfd76e
refactor: Add get bg/fg delegates to RenderColumnBase
...
These colors are frequently functions of the rows; now such cases don't require
implementation in classes that derive from RenderColumnBase
2022-08-07 13:51:52 -04:00
John Colvin
eb150ba82c
chore (ui): Hook up background setting in OrderTypeColumn
2022-08-07 13:51:52 -04:00
John Colvin
d763275179
fix (ui preemptive): Bind horiz align setting to horiz content align
...
Bugs (fixed)
* (preemptive) The OrderTypeColumn root border doesn't span the width of the
column. This would happen if the column's background was a
non-transparent brush, and horizontal alignment wasn't stretched.
2022-08-07 13:51:52 -04:00
John Colvin
2b96a8a5c4
ui: Enable grid background setting in all windows
...
And remove bool props that were used to toggle this behavior
2022-08-07 13:51:52 -04:00
John Colvin
31866c76b7
chore (vs graph): Add tick_line_color setting
2022-08-07 13:51:52 -04:00
John Colvin
a2da946e03
fix (vs graph): Actually use axis_line_color setting in vm
...
Bugs (fixed):
* The vs graph axis line color setting is ignored
2022-08-07 13:51:52 -04:00
John Colvin
528bab34e7
chore: Show color name in ColorNotFoundException msg
2022-08-07 13:51:52 -04:00
John Colvin
776b9e4f94
chore: Remove '_color' and '_brush' props from BTSColors
...
The BTSColor props are implicitly convertible to both System.Windows.Media.Color
and Brush
2022-08-07 13:51:52 -04:00
John Colvin
168d328e97
chore: Clean BTSColorExtension
2022-08-06 23:54:15 -04:00
John Colvin
f871dbd230
chore: Add 'Pure' attr to is_null_or_empty ext
2022-08-06 23:54:15 -04:00
John Colvin
1662b56ea0
refactor: Clean up ReflectionHelper a bit
...
* Rename '(static_)property_delegates_of_type' -> '(static_)property_getters',
and include name w/ prop getters
* Rename 'FindApplicableConstructor' -> 'get_constructor'
* Remove unused fns
2022-08-06 23:54:15 -04:00
John Colvin
f3302dbac0
fix (ui): Validate width/height before updating DragRectAdorner
2022-08-06 23:54:15 -04:00
John Colvin
181072f3e7
chore: Clean up ui settings classes
...
* Move most settings files into new dir 'Model/Settings'
* Conform code style to our current practices
2022-08-06 23:54:15 -04:00
John Colvin
f654312123
chore (refactor): Move synth mgmt settings classes into sep files
2022-08-05 13:41:37 -04:00
John Colvin
c46d97646a
fix: Gather individual win settings on dispatcher thread
...
In practice, window-states live on their respective dispatcher threads.
Window settings factories shouldn't be expected to be thread-safe.
2022-08-05 13:41:37 -04:00
John Colvin
41742359e9
fix (vs ui): Don't clip vs time sched ui
2022-08-05 13:41:37 -04:00
John Colvin
024723925e
ui (vs grid settings): Constrain window height
2022-08-05 13:41:37 -04:00
John Colvin
76b834768e
style: Clean up spark.csproj
2022-08-05 13:41:37 -04:00
John Colvin
89284bea87
build: Upgrade csharp nuget pkgs
2022-08-05 13:41:37 -04:00
John Colvin
532154640b
refactor: Replace PNLCellAppearance ctr w/ 'init' props
2022-08-05 13:41:36 -04:00
Taha Afzal
ab8468d498
Added function in VolSurfaceDisplayModel to populate empty exps
2022-08-04 18:42:15 -04:00
Taha Afzal
84b0332778
Better logs for the case when Deribit's open orders's security can not be resolved
2022-08-03 23:53:57 -04:00
Taha Afzal
20b601f290
Fixed the crash related to querying Deribit for open orders
2022-08-03 16:57:10 -04:00
Taha Afzal
47002cae4c
This PNL fix change was accidentally merged out
2022-08-03 08:47:50 -04:00
John Colvin
eaaffe369a
Fix typo typeof(HyperlinkCell) -> typeof(TextCell)
2022-08-03 00:07:39 -04:00
John Colvin
7292a31c00
fix (rec rep): Save grid settings w/ workspace
2022-08-03 00:07:39 -04:00
John Colvin
389d762a93
ui (launcher): Drop "2" in "P&L 2" menu item
...
It was leftover from the transition to the "new" pnl window (which hasn't been
new since 2019)
2022-08-03 00:07:39 -04:00
John Colvin
9704ebf096
style: Move ReconcileReportModel into rec rep dir
2022-08-03 00:07:39 -04:00
John Colvin
de320338ca
ui (launcher): Group 'Fill' menu items together
2022-08-03 00:07:39 -04:00
John Colvin
668dfd9130
feat (ui): Add Day Fills win
2022-08-03 00:07:39 -04:00
John Colvin
a2960b23a8
refactor (ITradeLogRow): Rename trader -> user, add user_id
...
Use consistent nomenclature throught the sys
2022-08-03 00:01:02 -04:00
John Colvin
55744edc25
refactor: Move SecurityDataHelper.Defaults into Security class
2022-08-02 13:24:48 -04:00
John Colvin
7ece5d18cb
refactor: Move sec 'key_fn' into Security class
2022-08-02 12:37:46 -04:00
John Colvin
8005ac8635
refactor: Name top_of_book tuple items bid/ask
2022-08-01 21:56:07 -04:00
John Colvin
c00a71fdfa
chore: Add fill_kind to ITradeLogRow
2022-08-01 11:14:29 -04:00
John Colvin
197c915968
Remove erroneous font_size binding in xaml
...
Each cell's font size comes from its associated column object (not the cell vm)
2022-08-01 11:14:29 -04:00
John Colvin
6d77a07bbe
fix: Load grid-level settings in pnl window
...
Font family/size/weight, foreground, background
2022-08-01 11:14:29 -04:00
John Colvin
adfb560dd1
chore: Post users-map on the bus
2022-08-01 11:14:29 -04:00
John Colvin
508d20e4e0
refactor: Rename ITradeLogRow.trade_key -> order_key
...
This is what it actually is; the trade_key misnomer was ported from edge
2022-08-01 11:14:29 -04:00
John Colvin
72457619f7
chore: Move IPositionModel to Spark.Trading ns
2022-08-01 11:14:29 -04:00
John Colvin
18d5b83a95
chore: Replace anon pnl win w/ proper PNLWindow class
...
The PNL window is too complex/terse to be nested anonymously in the
PNLWindowFactory class. This makes the code cleaner/easier to read.
2022-08-01 11:14:29 -04:00
John Colvin
653362b947
chore: Make 'Safe' IEnumerable exts accept nullable ref types
2022-08-01 11:14:29 -04:00
John Colvin
b7477b8f93
fix (fills ui): Add back 'Fill Status' col
...
Not sure when/why it went missing
2022-08-01 11:14:29 -04:00
John Colvin
105f1fceaf
ui (pnl): Increase sec column default width
2022-08-01 11:14:29 -04:00
John Colvin
cb65489ab7
fix (combo vm): Fix typo when assigning swipe_sum net/calls/puts
...
Bugs (fixed):
* The swipe sum net/puts are swapped in combo status bar
2022-08-01 11:14:29 -04:00
John Colvin
96772727df
fix (exp params): Ensure auto-picked driver has right sym
2022-08-01 11:14:29 -04:00
John Colvin
960a618fe1
fix: Bind pnl account col to AccountTuple
...
Bugs (fixed):
* The group-row pnl cell hyperlinks don't open anything when clicked
Cause: An InvalidCastException is thrown when the code that creates the fills
vm (for the popup) casts 'PNLRowCollectionViewGroup.Name' to an AccountTuple,
as said 'Name' member is bound to the 'account_name' (of type string).
2022-08-01 11:14:29 -04:00
John Colvin
505cd37225
chore: Assert that PositionPriceSize.GetHashCode isn't invoked
...
Impl doesn't guarentee equal objects produce the same hash
2022-08-01 11:14:28 -04:00
John Colvin
a5f66b8ac6
feat: Add greeks cols to pnl view (for options)
2022-08-01 11:14:28 -04:00
John Colvin
2021f29f62
feat: Support options in pnl view
2022-08-01 11:14:28 -04:00
John Colvin
9ccf3e0f87
chore: Remove UTF-8 BOM from pnl files
2022-08-01 11:14:28 -04:00
John Colvin
7cfc53eba8
refactor: Make sum_real ext generic (IFloatingPoint<T>)
...
Also add bool param 'nan_if_none' (to return NaN instead of 0 when values
contains no real numbers)
2022-08-01 11:14:28 -04:00
John Colvin
f9d269c750
chore: Add account_id to ITradeLogRow, IPNLUnit
2022-08-01 11:14:28 -04:00
John Colvin
67d5161fd1
chore: Dispose _pnl_calc in ReportDaemon.Dispose
...
This wasn't causing any problems in practice (this class is instantiated once
on startup and never gets disposed). However, since it implements IDisposable,
might as well do it correctly.
2022-08-01 11:14:28 -04:00
Taha Afzal
d6e9bbce71
Something funky, not sure why it is showing as touched
2022-08-01 11:14:28 -04:00
John Colvin
76ec2c0fa2
fix: Pass key_fn to TableUpdate Operate ext
...
Bugs (fixed):
* PNL window crashes immediately when opened
Cause: The 'Operate' ext fn aggregates an IObservable of TableUpdates w/
another IObservable of any T. If the latter fires before the former, an
'empty' TableUpdate is passed to the aggregate fn. When this happens, a
null ref ex is thrown in the 'empty' TableUpdate's ctr because the key
param is null.
2022-08-01 11:14:28 -04:00
Taha Afzal
e82a2c9402
Added Day PNL trades to PNLData
2022-08-01 11:14:28 -04:00
Taha Afzal
60ce106e24
Fixing a PNL crash which was caused by options for a symbol being temporarily null
2022-08-01 11:14:28 -04:00
Taha Afzal
1eb4952422
Added Control Keys to sheets, Ctrl + right click always brings up the context menu, Ctrl + market always brings up the ladder
2022-08-01 11:14:28 -04:00
Taha Afzal
3043582889
Improved some log messages
2022-08-01 11:14:28 -04:00
Taha Afzal
f604db6517
Reorganized PNL calculator and associated types
2022-08-01 11:14:28 -04:00
Taha Afzal
f95b0c19d7
Added PNL Calculation code
2022-08-01 11:14:28 -04:00
taha afzal
655bf87e92
Fixing open orders callback (was firing intermittent callbacks)
2022-07-22 16:36:52 -04:00
taha afzal
6d06a1920d
OrderServiceServer now publishes open orders
2022-07-22 15:16:03 -04:00
taha afzal
70af51e163
ExchangeOpenOrders are now routed all the way to OrderServiceServer
2022-07-21 20:36:17 -04:00
taha afzal
2c17fe334e
Added Exchange Open Orders function to IExecutionGateway
2022-07-21 00:38:15 -04:00
taha afzal
5eca2cd3ac
Exchange Open orders are routed all the way to EMExecutionGateway
2022-07-20 20:13:56 -04:00
taha afzal
4b5ff8cad4
Adding AsyncRequestHelper to EmMDListener, that allows code to be shared bw positions and open_orders request
2022-07-20 15:29:25 -04:00
taha afzal
89d5b25cc7
For EmMDListener, added a limit of 5 pending calls for positions, after which the counter is reset is positions are re-requested
2022-07-12 17:03:19 -04:00
Taha Afzal
3e10d403b4
Combo Report now listens to the sectups in the report configuration
2022-07-12 09:35:42 -04:00
Taha Afzal
1ebf06d49a
Slide report filters the securities based on the security tuples passed in the report
2022-07-12 09:35:42 -04:00
Taha Afzal
2be857a851
Forcing qty's to be rounded to 2
2022-07-12 09:35:42 -04:00
John Colvin
1de22a82e8
fix (combo settings ui): Refresh 'result' when sec criteria changes
...
Bugs (fixed):
* In Combo settings dialog, security criteria changes aren't committed to
server if they are the last prop changed before OK click
2022-07-12 01:00:51 -04:00
John Colvin
f275308cc8
build (client cpp): Remove ZERO_CHECK.vcxproj from spark_client.sln
...
The new cmake generates ZERO_CHECK.proj instead, which doesn't need to be
included in the sln. I think this change was introduced in v 3.22.
Devs: This won't break the build for older versions of cmake, although you may
need to manually touch "CMakeLists.txt" when you add/remove build src files
2022-07-12 01:00:44 -04:00
taha afzal
79de0dd4d8
Removed exchange from sub acocunt config
2022-07-11 21:13:05 -04:00
taha afzal
5cedf74406
Merge branch 'spark_crypto.multiple_accounts' into spark_crypto.dev
2022-07-11 17:44:02 -04:00
taha afzal
e5de6b4ad7
Changed the relationship of internal account to sub account to simple 1:1
2022-07-11 17:28:53 -04:00
John Colvin
e467195de1
chore (combo vm): Let end observer call OnDispatcher
...
This behavior could arguably be coupled with a Subscribe call, since its whole
purpose is to ensure subscription callbacks occur on the dispatcher thread.
2022-07-11 17:22:44 -04:00
John Colvin
913a5b4a7e
ui (combo settings): Show contract picker
2022-07-11 17:22:44 -04:00
John Colvin
feb8bd9b79
ui (slide settings): Show contract picker
2022-07-11 16:55:23 -04:00
taha afzal
846ecfa776
Fixed the reconcile issue where if the security existed in multiple accounts it was getting surpressed in one
2022-07-11 13:27:10 -04:00
taha afzal
d98fb399a8
Exchange Positions can now be obtained for multiple sub accounts
2022-07-09 01:40:28 -04:00
taha afzal
4a1c1d023a
Changes to accomodate the EM API change for mulitple accounts
2022-07-06 16:42:04 -04:00
taha afzal
43cba548f4
Adding some details to the logs to track order flow
2022-06-24 15:05:15 -04:00
taha afzal
772910ffe5
Fixing filled qty's fractional part not being filled on the server
2022-06-23 14:38:57 -05:00
John Colvin
767179caf7
chore (man fills): Format qty w/ sec metadata config
2022-06-23 14:38:57 -05:00
John Colvin
ee4a9150b8
refactor (man fills): Rename 'size' members 'quantity'
2022-06-23 14:24:04 -05:00
John Colvin
58914fa703
chore: Replace remaining refs to uint 'filled' fn w/ double impl
2022-06-23 14:24:04 -05:00
John Colvin
ba40e7044a
fix (ladder, preemptive): Fix typo in _fmt_mkt_depth_item
...
Bugs (fixed):
* The _fmt_mkt_depth_item fn potentially will return the result of the
delegate.ToString(), instead of invoking the delegate and returning the
result
2022-06-23 14:10:15 -05:00
John Colvin
010d0073fe
chore: Set BTC qty display config defaults
2022-06-23 02:05:23 -05:00
John Colvin
40210ce42e
chore: Remove unnecessary price_display config default
2022-06-23 01:35:22 -05:00
John Colvin
59cdafba21
fix: Don't cast manual fill qty to uint
2022-06-23 01:22:09 -05:00
John Colvin
fe6226baa5
ui (reconcile rep): Match all undefined positions
...
Now, all positions without real non-zero quantities are considered matches
2022-06-23 01:19:27 -05:00
John Colvin
45987c7652
feat: Show fractional qty in orderbook Filled col
2022-06-22 16:04:24 -05:00
John Colvin
a18ce97fb4
feat (ui): Support fractional qtys for order entry
2022-06-22 15:38:38 -05:00
John Colvin
13d5080bbc
refactor: Shorten modify/revert cmd prop names
...
Also consolidate modify_price/qty fns into single modify_order fn
2022-06-22 15:38:38 -05:00
John Colvin
9f07a36d1d
refactor: Move order-update-desc fn into OrderUtils for gen use
2022-06-22 15:38:38 -05:00
John Colvin
bc2e7f428a
chore: Add formal/consistent numeric exceptions/messages
2022-06-22 15:38:38 -05:00
John Colvin
53bfbdd349
fix: Sync 'has_value' prop for qty param
...
Bugs (fixed):
* Can't tick qty up/down in the orderbook right panel (clicking the
button has no discernible effect)
2022-06-22 15:38:38 -05:00
John Colvin
174eac9a59
refactor: Move OrderParamsVM into own file
...
OrderBookVM.cs was (and frankly still is) massive. Too massive
2022-06-22 15:38:38 -05:00
John Colvin
3775b86d9e
refactor: Rename 'size_' props 'quantity_' to be consistent
2022-06-22 15:38:38 -05:00
John Colvin
5e1c6d6209
fix build (windows): Don't include stdint-uintn.h on windows
2022-06-22 15:38:37 -05:00
taha afzal
0d0fb036ab
EmMDListener now get_open_orders and logging the open orders
2022-06-22 15:38:37 -05:00
taha afzal
f8668802ab
Fixing oder updates on fractional quantity orders (just a few lines)
2022-06-22 15:38:37 -05:00
taha afzal
c22a1382a1
Fractional qtys now work on the server (need some client side work)
2022-06-22 15:38:37 -05:00
Taha Afzal
941a0d91cc
Enabled Combo report to show fractions (ITradeLow had size of type int)
2022-06-13 20:01:47 -04:00
taha afzal
60456e4225
Deribit market data is blanked out now if the connection to Deribit is lost
2022-06-10 09:54:22 -04:00
John Colvin
440e28489a
build: Update libspark CMakeDeps_win
2022-06-09 13:49:55 -04:00
John Colvin
3da0f4eedc
ui: Indicate price discrep w/ subtler visual than qty discrep
2022-06-09 13:49:55 -04:00
Taha Afzal
497abfb443
Fixing Futures PNL in slide
2022-06-09 00:15:23 -04:00
Taha Afzal
7b04a7849b
Future delta fixed in Slide
2022-06-08 15:56:24 -04:00
taha afzal
e14b1e0b07
Limiter does not use StaticLimiter anymore because Deribit and Options are included in Risk enforcement now
2022-06-08 15:55:24 -04:00
John Colvin
2121ce2841
fix build (server gcc): Remove noexcept specifier from copy/move ops
...
The gcc compiler was deleting the copy/move operators declared in the
MarketDataSubscription class. This behavior was appropriate, as those
operators were declared with the 'noexcept' specifier, while the
copy/move operators of one of its members, params_ (of a proto-generated
type), lacked the 'noexcept' specifier.
2022-06-08 13:43:12 -04:00
John Colvin
c22e99941e
fix build: Disable ccapi dependent code on windows
...
It seems the ccapi lib doesn't support windows. External market data
subscription code only needs to be built on the server anyways.
2022-06-08 11:42:10 -04:00
John Colvin
3da646dc8a
fix build: Remove unnecessary import from binance-md proto
...
This removes an 'unused import' warning on build
2022-06-08 11:12:13 -04:00
John Colvin
fca675d43f
feat: Add option/deribit params to risk ui
2022-06-07 23:20:59 -04:00
John Colvin
a30523744d
feat: Implement ftx md subscription
...
Run 'sparkd ladder-demo' to check it out
2022-06-07 23:20:59 -04:00
John Colvin
80f5117c34
chore: Add is_empty fn to BookLevel
...
This pre-emptively fixes the BookSide::is_sorted fn, as it references
the previously non-existent BookLevel::is_empty fn
2022-06-07 23:07:33 -04:00
John Colvin
f77f73ec36
fix: Fix typo in MarketDataError type param
2022-06-07 23:07:33 -04:00
John Colvin
2385cf0d1b
refactor: Add add/remove fns to composite listener for convenience
2022-06-07 23:07:33 -04:00
John Colvin
bc778ad5bb
refactor: Rename CompositeListener -> CompositeMarketDataListener
...
Obviously a better, more descriptive name, and it matches the filename
(the oldname must have been an accident)
2022-06-07 23:07:33 -04:00
John Colvin
acb9c35d3b
logging: Add ccapi log adaptor
2022-06-07 23:07:33 -04:00
John Colvin
b8473e2632
Update externals to get ccapi lib
2022-06-07 23:07:33 -04:00
John Colvin
61b4696574
fix: Don't print bogus level in LadderLivePrinter
...
This is used when running 'sparkd ladder-demo'
Bugs (fixed):
* Sometimes it prints a bogus level
cause: The 'last_ask' iterator is pointing just after the last element
(i.e,. asks.end(), a bogus value)
2022-06-07 23:07:33 -04:00
John Colvin
91a79a5d96
refactor: Simplify md gateway/binance subscription
...
* Temporarily get rid of the register_listener fn, and just use
subscribe/unsubscribe to immediately connect/disconnect listeners to
exchange feeds. The 'register, then subscribe per sec-id' paradigm is
tricky to implement without access to security ids.
2022-06-07 23:07:33 -04:00
John Colvin
23927edf46
fix: Add missing log msg param
2022-06-07 22:44:33 -04:00
John Colvin
6c03e605b8
refactor: Consolidate md listener management into MarketDataGateway
...
This responsibility was awkwardly split between MarketDataGateway and
BinanceDepthStreamSite before, which made code confusing/hard to follow.
2022-06-07 22:44:33 -04:00
John Colvin
2e201159d8
refactor: Move BinanceDepthStreamParams into own file
2022-06-07 22:44:33 -04:00
taha afzal
5d56a8e440
Added some comments and imporves the logs
2022-06-06 17:27:08 -04:00
taha afzal
7097c85555
Fixing the SQLite error on archive_theos that was crashing the server on a duplicate key assertion
2022-06-06 15:14:57 -04:00
John Colvin
bf4c8e252f
Add install dir to gitignore
2022-06-03 22:41:16 -04:00
John Colvin
866cf33cd4
build: Set CMAKE_INSTALL_PREFIX (for deployment)
...
Run 'cmake --build <path_to_build> --target install' to create a self-
contained executable sparkd in the 'install' dir at the root of the repo
2022-06-03 22:35:44 -04:00
John Colvin
4561560b46
Remove redundant 'build' items in gitignore
2022-06-03 22:32:07 -04:00
John Colvin
bbadbf8e16
build: Move .cmake files to cmake dir (from tools)
2022-06-03 10:42:32 -04:00
John Colvin
68d8659115
fix (ui/slide): Fix greek tick-display formatting
...
Rather than fix the format fn for the old type, TickDisplaySettingsTuple,
convert params to the newer type, TickDisplaySettings, then call that type's
formatting fn (which isn't broken).
2022-06-03 01:16:03 -04:00
John Colvin
dd008962a7
ui (slide/vs settings): Adjust expand/collapse durations
2022-06-03 00:42:05 -04:00
John Colvin
e856e7e58f
style: Add 'at_most/least' aliases for min/max ext fns
...
Also add documentation (for completeness sake)
2022-06-03 00:41:04 -04:00
John Colvin
634d8e1aeb
fix (pre-emptive): Add null check in SecurityFormatter
2022-06-02 17:44:38 -04:00
John Colvin
eaa9376577
fix (pre-emptive): Add some null checks in ContractLegEnumerable
...
And clean up the code a bit while we're at it
2022-06-02 17:44:38 -04:00
John Colvin
3fb70fd645
fix (contractpicker): Don't init SecurityMap w/ empty dict
...
Bugs (fixed):
* The create-synth dialog crashes when picking a new leg's security
2022-06-02 17:44:38 -04:00
John Colvin
b793c75aa8
Add some null checks to LegSpreaderParamsTuple
2022-06-02 17:44:38 -04:00
John Colvin
cb26b9af39
fix (contractpicker): Remove SecurityMap CoerceValueCallback
...
This was breaking the binding so that the view had a different
security-map instance than the vm
2022-06-02 17:44:38 -04:00
John Colvin
f8059cc87e
build: Add verbosity opt to buildspark.py
2022-06-02 17:44:38 -04:00
John Colvin
07fe19ecdc
build: Symlink emumba license in build dir
...
So we don't have to do it manually
2022-06-02 02:15:14 -04:00
John Colvin
a292fe87e1
build: Set up cmake 'install' build target
...
The 'install' build target creates a self-contained (deployable) sparkd
package. It copies the sparkd executable and its dependencies into a
single directory (no symlinks), which can then be copied/deployed to
another machine.
Run `cmake --build . --target install` to install sparkd in the
directory defined by the CMAKE_INSTALL_PREFIX variable.
2022-06-02 01:32:17 -04:00
John Colvin
03d915b55c
Update externals to get emumba deribit lib 2.2.8
2022-06-02 00:47:42 -04:00
John Colvin
cc318535e9
fix (slide settings ui): Add show_commas prop to GreekDisplayVM
...
Bugs (fixed):
* The 'show commas' check box doesn't do anything in slide settings ui
Cause: The view is bound to a non-existent prop in the vm
2022-06-01 19:28:13 -04:00
John Colvin
9d245f3243
ui (vs settings): Wrap body in scrollviewer
2022-06-01 19:02:42 -04:00
John Colvin
6d7f95ac8e
ui (vs settings): Change radio buttons to dropdown
...
The radio buttons take up too much space
2022-06-01 19:02:42 -04:00
John Colvin
9d9df76f4e
refactor: Clean up KeyedTemplateSelector
...
* Use new lang feats
* Run formatter
* Split up classes into separate files
* Move into Controller dir (per the MVCVM paradigm)
2022-06-01 19:02:42 -04:00
John Colvin
a850082f44
refactor: Move StringExtensions to ns Spark.Core
2022-06-01 19:02:42 -04:00
John Colvin
521150a73b
refactor: Clean up StringExtensions
...
* Use new lang feats
* Run formatter
2022-06-01 19:02:42 -04:00
John Colvin
ed5f3fe740
ui (slide settings): Change param validation msgs
...
Change 'Specify' to 'Choose'
2022-06-01 19:02:41 -04:00
John Colvin
fd6fdd9768
Refresh radio-button-member 'IsChecked' when member-val changes
2022-06-01 19:02:41 -04:00
John Colvin
73bf104e9f
fix: Add null check
...
Also use null coalesce syntax to clean up existing null checks
2022-06-01 19:02:41 -04:00
John Colvin
24640e65b1
fix (pre-emptive): Add null check
2022-06-01 19:02:41 -04:00
John Colvin
eadfc38a69
refactor: Use nullability feat in ExceptNull, DisposeAll fns
2022-06-01 19:02:41 -04:00
John Colvin
098ee36c3a
fix: Init NotifyCollectionChangedEventArgs w/ correct args
...
Bugs (fixed):
* The ObservableAggregateCollection.Aggregator.Insert fn causes an
ArgumentException if the collection to be inserted is non-empty. This seems
to happen because the NotifyCollectionChangedEventArgs is improperly
constructed (the collection-tuple is passed as the 'changedItem' arg).
* The ObservableAggregateCollection.Aggregator.Insert fn appends existing
items to the end of the aggregate collection (instead of inserting them in
the appropriate index).
Note: This bug was only revealed after the first bug was fixed.
2022-06-01 19:02:41 -04:00
John Colvin
f4ed4d38f1
refactor: Change collection aggregator to use IReadOnlyList
...
It was previously accepting IReadOnlyCollection args, but the
ObservableCollection paradigm generally uses indexed lists
2022-06-01 19:02:41 -04:00
John Colvin
2ed3eaa325
refactor: Check if list already instantiates IList<T>
...
Before creating a new MutableWrapper<T>
2022-06-01 19:02:41 -04:00
John Colvin
3a7a02244b
refactor (ui): Use ExpandedContentSelector in vs win
2022-06-01 19:02:41 -04:00
John Colvin
79258b9404
fix (slide): Observe IObservables OnDispatcher
2022-06-01 10:11:26 -04:00
John Colvin
6376802d04
ui (slide): Use ExpandableContentSelector
2022-06-01 10:11:26 -04:00
John Colvin
2784e7652d
ui (control): Add ExpandedContentSelector for modal section-expansion
2022-06-01 10:11:26 -04:00
John Colvin
5b3925fae0
fix: Set GridSettings.enable_background_color in settings vm
2022-06-01 10:11:26 -04:00
John Colvin
077f6050f3
ui (login): Add F5 'refresh' cmd to retry connecting to server
2022-06-01 10:11:26 -04:00
John Colvin
791dd62b67
fix (ui): Fix typos in vs settings editor xaml
...
* Remove non-existent xmlns
* Change element-name 'curve_ops_gb' to 'StandardCurveOpsView'. The _gb suffix
doesn't make sense bc the element is no longer a GroupBox, and the new name
is stylistically consistent with the other section-view element-names
* Change 'Market Fit View' to 'Market Fit'
2022-06-01 10:11:15 -04:00
John Colvin
2364cda362
ui: Tweak expand/collapse animation
...
Use shorter duration for collapsing, and longer for expanding
2022-06-01 00:00:57 -04:00
John Colvin
aca4365e8d
fix (pre-emptive): Add null check
2022-05-31 16:43:22 -04:00
taha afzal
cac857a3a7
Busted fills filtered out of the PositionService position calculations
2022-05-30 15:38:08 -04:00
John Colvin
ed38ce958d
build: Resurrect web build
2022-05-28 11:40:45 -04:00
Taha Afzal
ed4b9b7426
Added is_active to ITradeLogRow, and changed Combo and Slide to use that
2022-05-26 19:31:13 -04:00
Taha Afzal
e4468f056d
Filtering out busted fills in Slide
2022-05-26 19:17:23 -04:00
Taha Afzal
4b580b407e
Adding FillStatus to ITradeLogRow and filtering the busted fills out in Combo
2022-05-26 19:08:47 -04:00
taha afzal
b575612b07
Fixing Busting of fills on ResetPositions
2022-05-26 18:39:19 -04:00
John Colvin
b506b971a4
feat: Init order ticket w/ default account from ladder profiles
2022-05-26 15:44:02 -04:00
John Colvin
c50f322dc1
refactor: Remove 'where class' constraint from FirstAsyncTask
...
The constraint didn't seem to serve a purpose
2022-05-26 12:57:02 -04:00
John Colvin
3a61f4d81d
ui: Add default-background control to grid settings dialog
2022-05-26 12:57:02 -04:00
John Colvin
a2b2de9783
feat: Reconcile Report
2022-05-25 14:28:58 -04:00
John Colvin
b2a6927b4b
Enable all column settings in mview (for all cols)
2022-05-25 14:28:57 -04:00
John Colvin
80dec4e1e2
ui: Fix typo to enable column background in GridSettingsView
2022-05-25 14:28:57 -04:00
John Colvin
77c7802496
Set cell-view's DIYGrid.Column when syncing w/ column geometry
2022-05-25 14:19:04 -04:00
John Colvin
cec2687085
ui: Increase default 'Security' col width
...
Many Deribit securities are wider than the previous col width
(particularly options)
2022-05-25 14:19:04 -04:00
John Colvin
ac118993d5
refactor: Change ManualFill.quantity to double
2022-05-25 14:19:04 -04:00
John Colvin
7634ecf730
refactor: Break up massive file Update.cs
...
Into one file per class
2022-05-25 14:19:04 -04:00
John Colvin
309d1fa287
refactor: Remove LegacyTableUpdate class
2022-05-25 14:19:04 -04:00
John Colvin
9231a91fb4
Fix typo in Update.merge fn
...
Bugs (fixed):
* When merging updates, a new ChangeDict is always instantiated
(sometimes unnecessarily). This was causing a performance hit, but
not actual bad/incorrect behavior, so it went unnoticed for years
2022-05-25 14:19:04 -04:00
John Colvin
f6f928a693
refactor: Move MarketDataAuxiliaryModel into Model dir
2022-05-25 14:19:03 -04:00
John Colvin
467216439b
refactor: Move PositionModel classes into own files
2022-05-25 14:19:03 -04:00
John Colvin
c63e73ab7c
refactor: Move SparkObservableExtensions into own file
...
And rename class ReactiveObservableExtensions
2022-05-25 14:19:03 -04:00
John Colvin
74fcacd800
Clear 'raw' (unfiltered) table changes on filter-updates
...
Otherwise, it would repeat the changes from the last data-update, and
break the incremental sequence
2022-05-25 14:19:03 -04:00
John Colvin
c1c46f01ab
refactor: Use DispatcherObservable class to avoid op chains
2022-05-25 14:19:03 -04:00
John Colvin
77083a1fa6
fix: Don't bypass Dispatcher.InvokeAsync in OnDispatcher ext
...
Otherwise the updates may not be received in order
2022-05-25 14:19:03 -04:00
John Colvin
5303f290b1
refactor: Move sec metadata utils into SecurityMetadataStore
2022-05-25 14:19:03 -04:00
John Colvin
895871c94b
refactor: Move SecurityCriteria classes into spark_core
...
Also move IBus there bc some SecurityCriteriaExtensions depend on it
(and spark_core seems more appropriate for IBus anyways)
2022-05-25 14:19:03 -04:00
John Colvin
3bff50b764
diag: Add TableUpdate.description ext
...
For diagnostic logging/tracking down bugs
2022-05-25 14:19:03 -04:00
John Colvin
86b7802b3b
Use RadioButtonGroupManager.Value prop instead of DataContext
...
This more clearly defines the behavior
2022-05-25 14:19:03 -04:00
John Colvin
4ff9aaf037
refactor: Clean up DIYGridFilterModel
2022-05-25 14:19:03 -04:00
John Colvin
99f7827e7e
refactor: Clean up RadioButtonGroupManager/Map
2022-05-25 14:19:03 -04:00
John Colvin
b67ac5c849
Simplify slide settings view by using RadioButtonGroupManager (not map)
2022-05-25 14:19:03 -04:00
John Colvin
0777f01607
fix: Remove il-advised SelectedItem(Binding) dp
...
It doesn't make sense to try to normalize the binding for different
groups into a single binding in the group manager
2022-05-25 14:19:03 -04:00
John Colvin
222dbf5443
refactor: Move RadioButtonGroupManagerMap into own file
2022-05-25 14:19:03 -04:00
John Colvin
9434f61030
fix: Make GroupManagerMap an Attached dp
...
It always should have been attached (analagous to a static prop)
2022-05-25 14:19:03 -04:00
John Colvin
9199594756
fix: Add null check for put/call_points in VolSurfaceDataFunctions
2022-05-25 14:19:03 -04:00
John Colvin
fc9318a831
ui: Refine vs settings dialog
...
Make it look more like combo/slide settings dialogs
2022-05-25 14:19:03 -04:00
John Colvin
e3fc28f082
fix: Wrap algometadata proto list in single class
...
Bugs (fixed):
* An exception is thrown when deserializing
AlgoDefinitionPersistedMetadata array
2022-05-25 14:19:03 -04:00
John Colvin
9cb7b84f57
Only recreate TViews when necessary in RXCollection
2022-05-25 14:19:03 -04:00
John Colvin
2689ed806d
fix: Add null check in VolSurfaceDataFunctions.get_symbols
2022-05-25 14:19:03 -04:00
John Colvin
5999e7856f
fix: Add null check for sec metadata in MDDaemon
2022-05-25 14:19:03 -04:00
John Colvin
96ad67b020
fix: Ensure ShellModuleVM.MenuContent is created at most once
2022-05-25 14:19:03 -04:00
John Colvin
47d5b95e13
ui (exp params): Add 'Set Driver to Nearest Exp' menu item
2022-05-25 14:19:02 -04:00
John Colvin
12108e6046
fix: Fix typo in 'abs' ext (should accpet INumber<T>)
2022-05-25 14:19:02 -04:00
John Colvin
021bdb8c23
Add ObservableHashSet
2022-05-25 14:19:02 -04:00
John Colvin
470f6c0988
Add Opacity option to ColorExtension (for xaml)
2022-05-25 14:19:02 -04:00
John Colvin
c8b87b4f79
Remove the ill-advised FontFamily enum
...
The library of potential font families to choose from is endless, so it
doesn't make sense to limit a user's options to a small set of arbitrary
presets
2022-05-25 14:19:02 -04:00
John Colvin
9d7e16fbf7
refactor: Move FontFamily exts into own file
...
This resolves some nagging namespace conflicts w/ FontFamily (in
System.Windows.Media and mbts.ui.utility.text)
TODO: Get rid of mbts.ui.utility.text.FontFamily (it was an ill-advised
enum to begin with)
2022-05-25 14:19:02 -04:00
John Colvin
5a45d5e12a
fix: Ensure AlgoData IObservable fires at least once
...
Bugs (fixed):
* The algo dropdown in ladder/ticket is empty
Note: this bug was exposed as side effect of a recent change to
prevent the TableUpdate Filter ext from firing empty TableUpdates
2022-05-25 14:19:02 -04:00
John Colvin
c793ec78a2
Don't send empty updates in TableUpdate Filter ext
2022-05-25 14:19:02 -04:00
John Colvin
7b2b7c5854
refactor: Get rid of 'semi_transparent' brushes in BTSColors
...
Doesn't seem worth the clutter
2022-05-25 14:19:02 -04:00
John Colvin
327615c9ac
refactor: Move 'position' utils from OrdersModel to PositionModel
...
OrdersModel contains way too much "miscellaneous" code. This will
reduce at least some of the clutter.
2022-05-25 14:19:02 -04:00
John Colvin
8e5d94b5e7
refactor: Move TickDisplayConverter into mbts.ui.converters ns
...
This is where all the other IValueConverter classes are defined
2022-05-25 14:19:02 -04:00
John Colvin
bd76a1f260
ui: Only expand one section at a time in slide settings dialog
2022-05-25 14:19:02 -04:00
John Colvin
1df2695f50
refactor: Clean up FillsVM
2022-05-25 14:18:57 -04:00
John Colvin
67d33a3315
Add null-check when disposing ObservableAutoWrapper item-hooks
2022-05-25 14:07:21 -04:00
John Colvin
c49cd3a06e
refactor: Clean up DIYGridRowsManager and related files/types
...
* Rename class suffix 'Manager' -> 'Model'
* Move classes into own files
* Put column-related classes in columns dir
* Enable nullable
* Run formatter
2022-05-25 14:07:21 -04:00
John Colvin
6c0545f566
fix: Don't deserialize AlgoDefinitionMetadata[] w/ length prefix
...
Bugs (fixed):
* AlgoDefinitionMetadata[] deserialization fails
2022-05-25 14:07:21 -04:00
John Colvin
f0eee365f9
fix: Catch & log deserialization exceptions
...
Rather than silently catching the exception upstream
2022-05-25 14:07:21 -04:00
John Colvin
274db506a9
Clean up DiscreteValuesFilterVM
2022-05-25 14:07:21 -04:00
John Colvin
1e5c56f3a7
refactor: Make key param optional in TableUpdate Filter ext
2022-05-25 14:06:49 -04:00
John Colvin
871c7a131f
refactor: Move Position extensions to own file in spark_api
2022-05-24 12:25:16 -04:00
John Colvin
7642d73f39
Add join_table fn to SecurityStore
2022-05-24 12:25:16 -04:00
John Colvin
ef69dfa646
refactor: Add 'table' subscription fns to generated proto services
...
* Provides a simple convenience, as nearly all api subscriptions made on the
front-end are converted to TableUpdates anyways
* Can help reduce overhead by instantiating TableUpdate subscriptions
lazily, and by using one internal TableUpdate subscription to provide
notifications to all observers
2022-05-24 12:25:16 -04:00
John Colvin
377be5030f
style: Clean up pb.cs templates (generated code)
2022-05-24 12:25:16 -04:00
taha afzal
896af55e79
Added commented to document flow of ExchangePosition
2022-05-24 12:24:47 -04:00
Taha Afzal
b9a4a2c148
Added right click context menu item in the sheets to launch ladders
2022-05-23 15:36:49 -04:00
Taha Afzal
e9f6d096cf
Disabling tasking context menu items from the sheet
2022-05-23 14:46:47 -04:00
taha afzal
25d4c54284
Added account_id to ExchangePosition
2022-05-23 11:51:10 -04:00
taha afzal
e4291e1c51
Adding account to ExchangePosition
2022-05-19 18:16:46 -04:00
taha afzal
5c11708728
Fixing assert on_get_all_position callback from EM
2022-05-18 17:56:06 -04:00
taha afzal
73a301192f
Fixing ExchangePosition's qty (unsigned uint related bug) and exchange
2022-05-18 17:14:39 -04:00
Taha Afzal
d972564d34
Clip defaults changed
2022-05-18 01:16:39 -04:00
taha afzal
e66a2d4663
Rejected orders now show up in the Orderbook UI
2022-05-18 00:42:00 -04:00
Taha Afzal
f92e13d898
Logging the key of the placed order
2022-05-16 16:03:46 -04:00
John Colvin
3d0698b326
task: Set ManualFill.FillType to 'AdminDay'
2022-05-16 15:57:28 -04:00
Taha Afzal
1e0ab86a24
MD entitlements turned off temporarily until we can add the settings to Risk Admin (web)
2022-05-12 18:02:22 -04:00
Taha Afzal
caa29b9513
Reducing market data related logging
2022-05-12 16:21:42 -04:00
Taha Afzal
c793768918
Bug with VolSurfaceUsage fixed
2022-05-12 00:09:37 -04:00
John Colvin
0132a0cff6
ui (exp params, combo): Format exps with month abv & day
...
This formatting is consistent with the rest of the system. Furthermore, it
ensures all sym/exp combinations have unique string reps (some symbols can have
multiple exps in one month, such as ETH).
2022-05-11 15:19:50 -04:00
John Colvin
f83b6ee898
ui (slide): Prevent last-trade & swipe-sum from overlapping
2022-05-10 13:38:36 -04:00
John Colvin
dc071dfa56
fix: RaisePropertyChanged when vm 'HasErrors' changes
2022-05-10 13:34:29 -04:00
John Colvin
fbfd601270
ui: Refine slide settings dialog
...
* Unify greeks configuration/display settings into one section
* Replace tabs with modal expandable sections (like in the analytics
shell module view)
2022-05-10 13:34:29 -04:00
John Colvin
9b5aea2458
refactor: Abstract out modal expand/collapse animation/behavior
...
From the analytics module view (so it can be used by other windows)
2022-05-10 13:31:57 -04:00
taha afzal
904ef92ece
Added reset_position to PositionService
2022-05-09 14:40:44 -04:00
John Colvin
74e950d459
ui: Don't filter manual fills
2022-05-07 17:51:44 -04:00
John Colvin
e99caef2dc
ui: Change 'Show Expanded' to 'Expand Symbols' in slide/combo
2022-05-07 16:42:15 -04:00
John Colvin
855e4a6ed8
ui: Change combo 'expand' icon to chevron right
...
It expands to the right (not down)
2022-05-07 16:40:16 -04:00
John Colvin
311b956461
Set manual fills' FillType to ADMIN_DAY (when creating)
2022-05-07 16:19:10 -04:00
John Colvin
b3b308cd9d
ui (fix): Set DIYGridLineAdorner.IsHitTestVisible to false
...
Otherwise it prevents click events from reaching the grid
2022-05-07 14:02:51 -04:00
John Colvin
a8480a34ba
fix: Detach DIYGridLineAdorner on dispose
2022-05-07 14:02:46 -04:00
John Colvin
3312637b8d
dev/john: Add vscode json files for windows/client
2022-05-07 13:57:49 -04:00
John Colvin
e6f7a82fb1
dev/john: Move 'vscode' json files into vscode/linux
...
They've always been specific to the linux/server code. Moving them as such
to make room for windows/client specific settings files.
2022-05-07 13:57:49 -04:00
John Colvin
5b934de69a
Add redundant checks to ensure readonly cells aren't copy/pasted in vs grid
2022-05-07 13:57:49 -04:00
John Colvin
0f78982f57
fix: Support copy/pasting in vs grid on readonly cell click
...
Only the option to copy the individual column value should be
hidden/disabled for readonly cells
2022-05-07 13:57:49 -04:00
John Colvin
18abbfc502
fix: Use vs grid's context menu rather than those of individual rows
...
Bugs (fixed):
* Crash when copy/pasting in volsurface grid
2022-05-07 13:57:49 -04:00
John Colvin
c3ae4c6dc5
refactor: Make VolSurfaceColumn.model readonly
...
It's never reassigned; should have been readonly to begin with
2022-05-07 13:57:09 -04:00
John Colvin
9b012649cd
fix: Add nullcheck for hscrollbar in grid line adorner
...
Bugs (fixed):
* A silent ArgumentNullException is thrown when opening volsurface windows
during startup
2022-05-07 13:57:09 -04:00
Taha Afzal
c126091155
VolSurfaceUsage is not read from config
2022-05-06 14:41:40 -04:00
taha afzal
c2fee56496
Adding temporary vol surface usage to config (simplifying it to only have symbol because SecTup had serialization issues in C#)
2022-05-06 13:55:44 -04:00
taha afzal
5461dc77aa
Added default config based risk limits for Deribit symbols
2022-05-05 20:39:47 -04:00
taha afzal
1b2a1c3fe3
Limiter can optionally get its value from config
2022-05-05 20:39:47 -04:00
Taha Afzal
a83a4fdd4f
UIOverrides for slide are ignored in the calcultor (were already disable din the UI for now)
2022-05-05 13:53:16 -04:00
Taha Afzal
4d4ee1f57c
TC2 is constructed on the correct options now
2022-05-04 15:11:24 -04:00
John Colvin
2bec4ae09f
ui: Hide position analysis filters in slide win
...
At least until they're actually implemented in model/calculation code
2022-05-04 15:07:14 -04:00
John Colvin
e3b91909a6
Hook up combo conf vm ErrorsChanged callback once (in ctr)
2022-05-04 14:58:57 -04:00
John Colvin
116ba3f629
Add venue component to report risk-terms/opt-equiv params
2022-05-04 14:56:43 -04:00
John Colvin
0ce6f8e6a2
style: Enable nullable in ComboReportFuturesGrid
2022-05-04 14:53:44 -04:00
John Colvin
9447cb67d2
fix: Populate exps list used to generate cols in combo futs grid
...
Bugs (fixed):
* Future positions aren't showing in combo report
2022-05-04 14:53:44 -04:00
John Colvin
92dacc5c3c
ui: Use consistent sorting in risk terms/opt equiv dropdowns
2022-05-04 14:53:44 -04:00
John Colvin
766dfe9dd3
ui: Hide security criteria param in slide settings win
2022-05-04 14:53:44 -04:00
John Colvin
84ecb54efd
ui: Change 'Volsurface' -> 'Vol Surface' in slide settings win
2022-05-04 14:53:44 -04:00
John Colvin
6ff8855dba
refactor: Change report security list to SecurityCriteria
2022-05-04 14:53:44 -04:00
John Colvin
7f349cfa71
ui: Use converter to generate 'pretty name' for sec criteria clause
2022-05-04 14:53:44 -04:00
John Colvin
948b23addc
fix: Don't add duplicate securities in slide config vm
...
Bugs (fixed):
* Slide settings dialog shows duplicate security items in dropdown
2022-05-04 14:53:44 -04:00
John Colvin
7031bb6fbe
fix (ui): Fix typo in slide settings dialog ok/apply cmd binding
2022-05-04 14:53:44 -04:00
John Colvin
15a04a1870
build: Temporarily disable web build
...
Until we can fix integration with dotnet 6
2022-05-04 09:23:32 -04:00
John Colvin
741c6d360a
fix: Refresh slide-settings vm 'result' when included syms change
2022-05-02 17:32:32 -04:00
John Colvin
c4f3ca26ef
ui: Use new spark menu toggle style in combo win/vm
2022-05-02 17:29:30 -04:00
John Colvin
3403adc1ff
fix: Hook up expanded/collapsed toggle in slide
...
Bugs (fixed):
* Changing the view-format in slide doesn't do anything
2022-05-02 17:29:30 -04:00
John Colvin
410d3aaf20
ui: Use opacity to indicate 'checked' state in spark menu
2022-05-02 17:29:30 -04:00
John Colvin
34905f6053
Fix benign typo in exp params win menu item init
2022-05-02 17:29:29 -04:00
John Colvin
6a16d419af
ui: Use checkmark icon for 'Checkable' items in spark win context menu
2022-05-02 17:29:29 -04:00
John Colvin
cd23c1a5a1
fix (ui): Use 'opacity' to indicate enabled/disabled in spark menu
...
Bugs (fixed):
* SparkMenuItems sometimes look disabled when they aren't (esp in
AnalyticsExpirationParameters win)
In wpf, VisualStates in different VisualStateGroups shouldn't adjust
common properties. A visual element can only be in 1 visual state at a
time. When a visual element transitions to a new visual state, all
depepdency property changes associated with the transition to the
previous state are cleared.
2022-05-02 17:29:29 -04:00
John Colvin
18793f8cd9
ui: Add 'Swipe Sum' tooltip in slide
2022-05-02 17:29:29 -04:00
John Colvin
c008147674
ui: Use DayMonthAbvDiff2000 format for last trade exp in combo/slide
2022-05-02 17:29:29 -04:00
John Colvin
47323c51c3
ui: Use normal font size of grid in combo
2022-05-02 17:29:29 -04:00
John Colvin
91f58620ac
ui: Make '|' separator in combo consistent w/ those in slide
2022-05-02 17:29:29 -04:00
John Colvin
91aeccb2ae
ui: Use normal font size outside of grids in slide
2022-05-02 17:29:29 -04:00
John Colvin
82864a609d
ui: Make '|' separator consistent in slide status bars (upper/lower)
2022-05-02 17:29:29 -04:00
John Colvin
828b1ca0c2
ui: Add '|' separators in slide status bar
2022-05-02 17:29:29 -04:00
John Colvin
6b740ece39
ui: Use common IValueConverter for last_trade in slide/combo wins
2022-05-02 17:29:29 -04:00
John Colvin
84f18288e0
fix: Fix typo 'call' -> 'put' in ComboReportOptionCellView
2022-05-02 17:29:29 -04:00
John Colvin
cf9e5862ed
fix: Invalidate 'measure' when ShowCallPut in combo opt cell
...
Bugs (fixed):
* combo report does not show call/put when 'Show Call/Put' is checked
2022-05-02 17:29:29 -04:00
John Colvin
4ca2b5f4d2
fix: Add missing 'ExpirationTextConverter' resource in ComboReportView
2022-05-02 17:29:29 -04:00
John Colvin
da2894512d
fix: Fix typo 'ComboReport' -> 'ComboReportView'
2022-05-02 17:29:29 -04:00
John Colvin
55e9487203
fix: Sync strikes and exps in combo on_data callback
2022-05-02 17:29:29 -04:00
John Colvin
19fb08e7ff
fix: Add nullcheck in TradeLogRow ctr
2022-05-02 17:29:29 -04:00
John Colvin
193b1025ad
style: Clean up ReportDaemon
2022-05-02 17:29:29 -04:00
John Colvin
8fa2a925cd
refactor: Use ToggleCommand/SparkMenuItemToggleModel in slide win
2022-05-02 17:29:29 -04:00
John Colvin
526daa9647
ui: Use 'candidate' icon for 'Use Candidate Vol' menu item
2022-05-02 12:29:03 -04:00
John Colvin
43bcc9fe02
Add 'candidate' icon
...
Even though not in use atm, it was hard to parse out the individual
candidate from the svg, and might come in handy down the road. Seems worth
keeping
2022-05-02 12:29:03 -04:00
John Colvin
51d6066420
fix: Add nullcheck in get_vs_price_map
2022-05-02 12:29:03 -04:00
John Colvin
0b11b83eb5
ui: Refine slide win
...
* dock account/risk terms to the left
2022-05-02 12:29:03 -04:00
John Colvin
a53dfd14b1
ui: Refine combo win
...
* make call/put toggle a spark menu item (in the toolbar)
* dock account/risk terms to the left
* hide account/risk terms labels (show them as tooltips instead)
2022-05-02 12:29:02 -04:00
John Colvin
cc0380d8f1
Add ToggleCommand type and related infrastructure
2022-05-02 12:29:02 -04:00
John Colvin
0a01d22e72
refactor: Rename 'UseCandidateVol' icon -> 'vol_curve'
2022-05-02 12:29:02 -04:00
John Colvin
e9f1c72198
refactor: Refine 'create_checked_icon' code/logic
...
Clean up code a bit, and add some parameters to custom fit/position the
check mark with any given Drawing
2022-05-02 12:29:02 -04:00
John Colvin
14af8823ed
refactor: Rename SparkCommandVM -> SparkMenuItemVM
...
Also move to 'ViewModels' dir
2022-05-02 12:29:02 -04:00
John Colvin
5900ce7d12
Fix windows build after moving FileUtils to lib
2022-05-02 12:29:02 -04:00
John Colvin
33e0a6bb46
Generate new keycodes for default config
...
These won't expire until 2032
2022-05-02 12:29:02 -04:00
John Colvin
ca3bc5059e
Read public key from config (for login/auth)
2022-05-02 12:29:02 -04:00
John Colvin
bd108dfe35
cli (server): Add key-code subcommand to sparkd
2022-05-02 12:29:02 -04:00
John Colvin
8a96c7441e
refactor: Clean up KeyCode
2022-05-02 12:29:01 -04:00
John Colvin
4eea3194fd
Remove unused args from key-code subcmds
2022-05-02 12:29:01 -04:00
John Colvin
dace332ac5
refactor: Move FileUtils into lib
2022-05-02 12:29:01 -04:00
John Colvin
af816bb905
fix: Don't cast numeric types via boxing
...
This is illegal
2022-05-02 12:29:01 -04:00
John Colvin
195c24ffef
refactor: Move SingleValueList to own file
2022-05-02 12:29:01 -04:00
John Colvin
92ad17aa19
fix: Save slide report before closing settings dialog
...
Bugs (fixed):
* Slide report configuration doesn't save on OK click (does save on Apply
click though)
2022-05-02 12:29:01 -04:00
John Colvin
eabc4bee4c
fix: Save combo report before closing settings dialog
...
Bugs (fixed):
* Combo report configuration doesn't save on OK click (does save on Apply
click though)
2022-05-02 12:29:01 -04:00
John Colvin
0ed9142cf0
test: Add HierarchicalDictionaryTest
2022-05-02 12:29:01 -04:00
John Colvin
1639683b43
fix: Set _value_count to 0 when HierarchicalDictionary is Cleared
2022-05-02 12:29:01 -04:00
John Colvin
05afb08c5d
fix: Ensure HierarchicalDictionary nodes in sync w/ parent data
2022-05-02 12:29:01 -04:00
John Colvin
c674e44c60
refactor: Enable nullable in EnumerableExtensions
2022-05-02 12:29:00 -04:00
John Colvin
e104c78471
fix (preemptive): Fix typo in Sum ext
...
This fix is preemptive only bc this fn isn't referenced atm
2022-05-02 12:29:00 -04:00
John Colvin
3d8ec63bd7
ui: Condense text/controls in top of Slide win
2022-05-02 12:29:00 -04:00
John Colvin
99670c9d28
ui: Move last update time down to status bar in Slide win
2022-05-02 12:29:00 -04:00
John Colvin
56126e19a7
refactor: Clean up SlideReportView.xaml.cs
2022-05-02 12:29:00 -04:00
John Colvin
05e8363504
ui: Change 'Use Candidate Vol' icon to look sort of like vol-curve
2022-05-02 12:29:00 -04:00
John Colvin
884741062b
ui: Add expand/collapse toggle menu item to Combo win
2022-05-02 12:29:00 -04:00
John Colvin
63c77966fa
ui: Add menu-orientation menu-item to Slide win
2022-05-02 12:29:00 -04:00
John Colvin
31745d9f0d
ui: Add menu-orientation menu-item to Combo win
2022-05-02 12:29:00 -04:00
John Colvin
78897ed608
refactor: Clean up SparkMenu
...
* use visual states instead of triggers for mouse-state-transition animation
* use new lang feats
* run formatter
2022-05-02 12:29:00 -04:00
John Colvin
5712bcdc57
Add PressedAnimationDuration prop to MouseStateDefinition
...
This provides a way to ensure that 'Pressed' animations, which takes a
non-zero amt of time, always run to completion (before animation for the
next state begins)
2022-05-02 12:28:59 -04:00
John Colvin
8e0a027584
style: Add documentation to ProjectToVector ext
2022-05-02 12:28:59 -04:00
John Colvin
12f88b5303
test: Add unit test for ProjectToVector ext
2022-05-02 12:28:59 -04:00
John Colvin
b119cad8a9
ui: Remove 'Focus' animation from SparkMenuButton
...
Not sure why this was here in the first place..it's identical to the
MouseOver animation
2022-05-02 12:28:59 -04:00
John Colvin
f30210e4e1
refactor: Move SparkMenu style/xaml to own file
2022-05-02 12:28:59 -04:00
John Colvin
a8d6a104c3
refactor: Clean up OptionDriverPriceMap
2022-05-02 12:28:59 -04:00
John Colvin
13df0c8638
Spruce up AnalyticsShellModuleView
2022-05-02 12:28:59 -04:00
John Colvin
fb70aa6514
fix (ui): Set combo report settings dialog title to string literal
...
Previously, it was bound to the report-name. However, the binding was broken.
Furthermore it doesn't seem appropriate to bind the title to the name since the
user can edit the name in the settings dialog
2022-05-02 12:28:59 -04:00
John Colvin
37fd1d424e
refactor: Rename (SlideReportSettings)View -> Dialog
...
This is more consistent with our name conventions, and dialog is more
precise description of the type
2022-05-02 12:28:59 -04:00
John Colvin
bdbbcb05dc
ui: Animate AnalyticsShellModule window-section expand/collapse
2022-05-02 12:28:59 -04:00
John Colvin
9cd5d0890f
ui: Add large-flat button style
2022-05-02 12:28:59 -04:00
John Colvin
7b1fa849ef
fix (preemptive): Curry 'Member' to DataContextChanged callback
...
Bugs (fixed):
* [preemptive] potential InvalidCastException in
RadioButtonGroupManager.DataContextChanged callback
2022-05-02 12:28:59 -04:00
John Colvin
a8b5cf81ee
fix (ui): Set combo report settings dialog title to string literal
...
Previously, it was bound to the report-name. However, the binding was
broken; furthermore it doesn't seem appropriate to bind to the name
since the user can edit the name in the settings dialog
2022-05-02 12:28:58 -04:00
John Colvin
bc62d4b359
refactor: Rename (ComboReportSettings)View -> Dialog
...
This is more consistent with our naming conventions, and 'dialog' is a
more precise description of this type.
2022-05-02 12:28:58 -04:00
John Colvin
4413580212
feat: Support modifying combo report 'name' after it is created
...
The csharp vm infrastructure was already in place, so this was just a matter of
adding the 'name' field to the settings view
2022-05-02 12:28:58 -04:00
John Colvin
8b653ef133
feat: Add volume col to TimeAndSales
2022-05-02 12:28:58 -04:00
John Colvin
b1f8ac7e22
refactor: Make Optional<T> a struct
...
It's a trivial, readonly type, so struct seems more appropriate than class
Bugs (fixed):
* [preemptive] greeks_tuple param potential null-ref exception in TradeInfo
'with' ext
2022-05-02 12:28:58 -04:00
John Colvin
a11c23d718
refactor: Enable nullable in TimeAndSales(Filter)Settings
2022-05-02 12:28:58 -04:00
John Colvin
9feceb9fdb
fix: Create new instance of ContextMenu on each open
...
Bugs (fixed):
* the volsurface grid context menu items' col/super header names don't stay
in sync with clicked cell (the names never change once the menu item becomes
visible for the first time)
2022-05-02 12:28:58 -04:00
John Colvin
bad6464fe9
refactor: Clean up VolSurfaceRowContextMenuVM
...
* use new lang feats
* run formatter
2022-05-02 12:28:58 -04:00
John Colvin
a6007ca362
refactor: Sync symbols in vs row context menu when vis-exps changes
...
Also, rename SymbolFilter -> SymbolItemVM
2022-05-02 12:28:58 -04:00
John Colvin
05348b01ae
refactor: Clean up VolSurfaceRowVM
...
* use new lang feats
* run formatter
2022-05-02 12:28:58 -04:00
John Colvin
abfabe3e21
Remove unused file VolSurfaceRowControl.cs
2022-05-02 12:28:58 -04:00
John Colvin
83e0da446a
refactor: Rename VolSurfaceRowContext -> VolSurfaceRowVM
2022-05-02 12:28:58 -04:00
John Colvin
85a48e71d1
refactor: Move vs row context menu vm to own file & unnest class
2022-05-02 12:28:57 -04:00
John Colvin
0671117660
refactor: Move sync_with ext to ListExtensions
2022-05-02 12:28:57 -04:00
John Colvin
654c5b3074
refactor: Rename 'command' members 'cmd' in VolSurfaceRowContext
2022-05-02 12:28:57 -04:00
John Colvin
aee5e54c14
refactor: Clean up VolSurfaceVM
...
* use new lang feats
* rename 'command' members 'cmd'
* sort members
2022-05-02 12:28:57 -04:00
John Colvin
e5df037992
refactor: Remove redundant LastOrDefault ext fn
2022-05-02 12:28:57 -04:00
John Colvin
06b9586eb6
refactor: Consolidate tick up/down fn pairs into singular tick fns
...
With 'is_up' params
2022-05-02 12:28:57 -04:00
John Colvin
79716dfdba
refactor: Add NotNullWhen attrs to tick up/down out params
2022-05-02 12:28:57 -04:00
John Colvin
02b6b5d078
fix: Handle nan qty gracefully on ladder qty button click
...
Just set the value to that of the clicked button (since you can't add
anything to NaN)
2022-05-02 12:28:57 -04:00
John Colvin
403e8d2947
ui: Change TickUpDownNullable control to reset null -> 0 on tick click
2022-05-02 12:28:57 -04:00
John Colvin
25e9c37987
refactor: Change props to generic T in TickUpDownNullableNumeric
...
Accidentally left several members defined as type double (this
now-generic class was refactored from TickUpDownNullableDouble)
2022-05-02 12:28:57 -04:00
John Colvin
99b58cf2bf
refactor: Clean up LadderVM
...
* use new lang feats
* sort members
* run formatter
2022-05-02 12:28:56 -04:00
John Colvin
78155cfbdf
refactor: Clean up LadderOrderVM
...
* use new lang feats
* sort members
* run formatter
2022-05-02 12:28:56 -04:00
John Colvin
1ba980d69f
refactor: Accept tuples with non-uniform types in 'Sum' ext
2022-05-02 12:28:56 -04:00
John Colvin
ef155aaedf
Remove redundant bootstrapping code from TableUpdateDemuxer
2022-05-02 12:28:56 -04:00
John Colvin
22c4b528cb
fix: Actually propagate updates to Subject nodes in TableUpdateDemuxer
...
Bugs (fixed):
* Working orders are not showing in ladder
2022-05-02 12:28:56 -04:00
John Colvin
fd71c6ac7a
Set ShowDecimalPart to false in default qty display settings
2022-05-02 12:28:56 -04:00
John Colvin
019fa134cb
fix: Use valid defaults for price/qty display in SecurityMD
2022-05-02 12:28:56 -04:00
John Colvin
4a40bd3364
refactor: Move SecurityDataHelper to spark_api proj
2022-05-02 12:28:56 -04:00
John Colvin
68229b2474
build (server): Update CMakeDeps
2022-05-02 12:28:56 -04:00
John Colvin
8727ed6ccd
Upgrade server to dotnet-sdk 6
...
* upgraded externals to install dotnet-sdk-6.0 in docker
* rewound the sdk version specified in global.json to 6.0.200 (latest
available in the apt repository)
* updated some fs code that wasn't backwards compatible (namely the
builtin 'TryParse' methods)
2022-05-02 12:28:56 -04:00
John Colvin
8ee3d5b8ad
web: Add tsconfig for clang release build
...
Not sure why this file was absent in the first place, as similar
tsconfig files were already present for clang debug, and gcc
debug/release
2022-05-02 12:28:55 -04:00
John Colvin
98ee43aa27
ui: Add spark menu items to toggle auto-copy-rolls/rates
2022-05-02 12:28:55 -04:00
John Colvin
92291e3f9f
refactor: Clean up AnalyticsParametersManager
...
* replace ThreadedBlackboard w/ IBus
* use new lang feats
* run formatter
2022-05-02 12:28:55 -04:00
John Colvin
1abb41a0d5
ui: Change sec-type abbrev to be all caps
2022-05-02 12:28:55 -04:00
John Colvin
0993195f03
fix: Use CollectionViewSource to workaround wpf bug
...
Bugs (fixed):
* Some dropdowns in exp params grid are empty
2022-05-02 12:28:55 -04:00
John Colvin
c2a7c6f994
fix: Set result to null if conversion to nullable<T> fails
...
Was setting the result to default(T) before
Bugs (fixed):
* Various exceptions stem from failed conversions to nullable types
when the underlying type doesn't have a valid default state. For
example, default instances of immutable protobufs throw exceptions in
property accessors for reference type members.
2022-05-02 12:28:55 -04:00
John Colvin
48900cf5a0
ui: Use BTSColors.input_dirty_border in exp params
...
This makes the 'dirty' color consistent with the rest of the system (was
using hardcoded Red before)
2022-05-02 12:28:55 -04:00
John Colvin
57fbb36808
feat: Add TimeWeightedInterpolated driver to analytics exp params
2022-05-02 12:28:55 -04:00
John Colvin
5c45384c34
refactor: Clean up AnalyticsExpirationParametersRowVM
...
* use new lang feats
* run formatter
2022-05-02 12:28:55 -04:00
John Colvin
f9aa162e2a
refactor: Clean up AnalyticsExpirationParametersVM
...
* use new lang feats
* run formatter
2022-05-02 12:28:55 -04:00
John Colvin
013d17c386
refactor: Enable nullable in AnalyticsExpirationParametersView.xaml.cs
2022-05-02 12:28:55 -04:00
John Colvin
ad250c3883
fix: Include sec-type str in ExpirationTextConverter
...
Bugs (fixed):
* ExpirationTextConverter.Convert doesn't include the sec-type part
when 'ShowType' is true
2022-05-02 12:28:55 -04:00
Taha Afzal
2c9e0012e2
Cleaning up VolSurfaceRiskCalculator vs VolSurfaceSlideCalculator
2022-04-29 12:57:35 -04:00
Taha Afzal
2516f23e37
TC2 gets its list of symbols form the settings the rightway now
2022-04-29 12:43:34 -04:00
Taha Afzal
d3a7bd48c2
Account setting in Slide is being respected now
2022-04-28 18:37:07 -04:00
Taha Afzal
4aeb7490e3
Slide calculates now if the caculation mode is set for Live Theo or Position update
2022-04-28 17:11:03 -04:00
Taha Afzal
265beef715
Slide is working (showing data, not verified the data though
2022-04-27 19:34:13 -04:00
Taha Afzal
a58bf83a9a
Added Combo computing code (temporarily brought old VoLSurfaceRiskCalculator back
2022-04-25 17:56:24 -04:00
John Colvin
9da1a4a2de
fix: Remove CharSet.Unicode' from 'Logger_log' DLLImport attr
...
Bugs (fixed):
* csharp logs only include the first char of the log message
Omnisharp recommended this be specified in the attribute after upgrading to
dotnet 6. They were wrong.
2022-04-20 12:48:37 -04:00
John Colvin
8a98e38e73
Include opts (and futs) in manual fills sec popup
2022-04-20 02:42:35 -04:00
John Colvin
3044f4a0b1
ui: Sort accounts in dropdown in slide settings dialog
2022-04-20 02:12:14 -04:00
John Colvin
5104ae1742
ui: Set ComboReportWindow.MinWidth to 500
...
The default width was too narrow, and caused some labels to overlap
2022-04-20 01:47:47 -04:00
John Colvin
987ec14da2
Remove redundant call to _validate in combo conf vm
2022-04-20 01:39:52 -04:00
John Colvin
24c6e0df97
fix: Refresh combo report-result prop when risk-terms-name changes
2022-04-20 01:39:21 -04:00
John Colvin
23d5d18b28
fix: Set report.Id when saving combo report
...
Bugs (fixed):
* When ok/apply is clicked in combo report settings, a new report is created
with those params, instead of modifying the existing report
2022-04-20 01:38:22 -04:00
John Colvin
0a38c241af
refactor: Rename ComboVM -> ComboReportVM
2022-04-20 00:36:53 -04:00
John Colvin
5b0d79ad17
refactor: Move ObservantAsyncCommand into ns Spark.ViewModel.Commands
2022-04-19 11:42:44 -04:00
John Colvin
833187559d
refactor: Move AsyncCommand to ns Spark.ViewModel.Commands
2022-04-19 11:42:44 -04:00
John Colvin
527066e4c8
refactor: Move IRaiseCanExecuteChangedCommand to ns Spark.ViewModel.Commands
2022-04-19 11:42:44 -04:00
John Colvin
bad30a49bf
Open options-view with security-picker
...
TODO: translate the SecurityCriteria into NMSheetsSettings so the
selected criteria is actually used in the window
2022-04-19 11:42:44 -04:00
John Colvin
24f40dd652
ui: Hide strikes/callput fields in contract-picker
2022-04-19 11:42:44 -04:00
John Colvin
dce61183dd
fix (preemptive): Unhook callbacks when contract-picker controller disposed
2022-04-19 11:42:44 -04:00
John Colvin
aeb81a9e86
fix (preemptive): Init contract-picker controller when datacontext changes
2022-04-19 11:42:44 -04:00
John Colvin
81aea15988
ui: Use qty display settings in fills
2022-04-19 11:42:44 -04:00
John Colvin
3e393208ab
ui: Use qty display settings in orderbook
2022-04-19 11:42:44 -04:00
John Colvin
0674accd05
Set initial qty to NaN (not 0) in ladder
...
This makes the initial state consistent with the state after clicking
'Clear'
2022-04-19 11:42:44 -04:00
John Colvin
0f0d8df572
fix: Set init val through display-translator in SizeCalculator
...
The init val was being passed to the erroneous `UserProperty<T?> _value` field,
which should have been deleted when the _display_translator was introduced.
Bugs (fixed):
* the ladder-view's initial size field is null when
2022-04-19 11:42:44 -04:00
John Colvin
0afd06be9c
feat: Support double qty input in order ticket
2022-04-19 11:42:44 -04:00
John Colvin
1539bfa8b1
feat: Support double quantity input in Ladder
2022-04-19 11:42:43 -04:00
John Colvin
a2336be143
fix: Check if _settings is null in LadderGridHost._refresh_prices
...
Bugs (fixed):
* NullReferenceException is thrown when the right-panel-ladder (in
OrderBook) is opened with no selected rows
2022-04-19 11:42:43 -04:00
John Colvin
7d65befc7e
refactor: Overload detect_property_changes w/ eq comp params
2022-04-19 11:42:43 -04:00
John Colvin
916b28bc16
refactor: Clean up LadderVMContainer
2022-04-19 11:42:43 -04:00
John Colvin
fb3447a6b4
refactor: Consolidate TickUpDownNullable classes into generic impl
2022-04-19 11:42:43 -04:00
John Colvin
2fa9b2e0e5
refactor: Rename TickUp/DownParameter TickUp/DownCommandParameter
2022-04-19 11:42:43 -04:00
John Colvin
a66d3fb28a
refactor: Return bool indicating whether object was disposed
2022-04-19 11:42:43 -04:00
John Colvin
6be017d35b
fix: Make new instances of arrow icons instead of sharing
...
Bugs (fixed):
* 'Freezable cannot be frozen' exception thrown when opening
multiple windows (on diff threads) that use the same arrow icons
2022-04-19 11:42:43 -04:00
John Colvin
ef24e5164f
refactor: Change uint qty members to doubles
2022-04-19 11:42:43 -04:00
John Colvin
a7f36b2361
refactor: Support generic numerics in tick-utils
2022-04-19 11:42:43 -04:00
John Colvin
3d404002a0
refactor: Make QuantityConversionData generic for numeric T
2022-04-19 11:42:43 -04:00
John Colvin
1922a1b49c
refactor: Make MathUtils/NumericExtensions generic
2022-04-19 11:42:43 -04:00
John Colvin
ca4ec7025c
Add price/quantity display config to SecurityMD
2022-04-19 11:42:43 -04:00
John Colvin
7dcfa709d5
Add SecurityMetadata (proto3) config
...
Immediate Purpose:
* Add security-based config for 'unit-quantity'
2022-04-19 11:42:43 -04:00
John Colvin
aa254142e8
Add client-side support for proto3 config
2022-04-19 11:42:42 -04:00
John Colvin
b00b12bed2
refactor: Clean up MDSource/Daemon and deps
2022-04-19 11:42:42 -04:00
John Colvin
dd7168a687
Add SecurityMetadata pbuf to client build
2022-04-19 11:42:42 -04:00
John Colvin
97b665733a
Add SecurityCriteria pbuf type to client build
2022-04-19 11:42:42 -04:00
John Colvin
4a6d3e3042
Add bts/api/domain to proto search path for config
2022-04-19 11:42:42 -04:00
John Colvin
f65cf43e21
refactor: Rename bts.api.domain.SecurityType.INDEX -> SPOT
2022-04-19 11:42:42 -04:00
John Colvin
f971d4db51
Add SYNTHETIC to bts.api.domain.SecurityType
2022-04-19 11:42:42 -04:00
John Colvin
8cd79c0372
Add BTS and SIM to bts.api.domain.Venue
2022-04-19 11:42:42 -04:00
John Colvin
9bc346e84a
refactor: Clean up SecurityCriteria
...
* move SecurityCriteriaClause into own file
* convert fields to props
* sort members
* use new lang feats
* run formatters
2022-04-19 11:42:42 -04:00
John Colvin
88d2e1756f
refactor: Rename config.cs -> Configuration.cs
2022-04-19 11:42:42 -04:00
John Colvin
dc09c45330
refactor: Clean up config.cs
...
* use new lang feats
* specify CharSet.Unicode in DLLImports (avoids warning ca2101)
* sort members
* run formatter
2022-04-19 11:42:42 -04:00
John Colvin
47e5b57789
style: Clean up SecurityMD
...
* sort members
* use new lang feats
* run formatter
2022-04-19 11:42:42 -04:00
John Colvin
c1ad8ed4b2
style: Clean up AnalyticsService.proto
2022-04-19 11:42:42 -04:00
John Colvin
3589b5c9a8
build: Upgrade MEF pkgs in spark proj
...
Also remove unneccessary pkg 'Microsoft.Extensions.DependencyInjection'
2022-04-19 11:42:42 -04:00
John Colvin
fbaf15ad34
fix: Export shared inst for IWindowManager/Interop
...
Bugs (fixed):
* 2 WindowManager instances are created on startup! This causes many
problems (for ex, 'IShellWindow.thread_init' is called twice for each
shell window)
2022-04-19 11:42:42 -04:00
John Colvin
ee1d02991c
feat: Port combo report over from edge
2022-04-19 11:42:42 -04:00
John Colvin
2450cb028e
Fix BTSOxyGraph background binding
2022-04-19 11:42:42 -04:00
John Colvin
ec1182f059
Impl IEquatable in SparkTag
...
This is a pre-emptive fix. Without it, we are susceptible to potential hash
collision bugs in the bus
2022-04-19 11:42:41 -04:00
John Colvin
7797d8255f
fix: Avoid duplicate entries in cpp list
2022-04-19 11:42:41 -04:00
John Colvin
a4780ecac7
refactor: Make 'within_range' param order consistent
2022-04-19 11:42:41 -04:00
John Colvin
32643990ee
refactor: Use generic math in MathUtils/NumericExtensions
2022-04-19 11:42:41 -04:00
John Colvin
5746e6267a
Check equality in BoundColumn prop setters
...
Only call 'RaisePropertyChanged' when value actually changes
2022-04-19 11:42:41 -04:00
John Colvin
501ec81405
build: EnablePreviewFeatures for cs build
...
Namely, to enable generic math to allow for generic use of numeric
binary operators
2022-04-19 11:42:41 -04:00
John Colvin
714f4fe995
refactor: Drop 'Single' in SingleComboReportCalculator
2022-04-19 11:42:41 -04:00
John Colvin
ead71a5618
style: Move ComboFuture/StrikeData into own files
2022-04-19 11:42:41 -04:00
John Colvin
eaf6e4ba28
refactor: Clean up VolSurfaceUtilityFunctions
...
* use new lang feats
* remove redundant ported functionality (refactor w/ impls in spark)
* run formatter
2022-04-19 11:42:41 -04:00
John Colvin
bef2c9310e
Add 'Fill' list ext fn
2022-04-19 11:42:41 -04:00
John Colvin
7b3e0d4a59
refactor: Clean up SecurityTuple/Expiration/Strike
...
* use new lang feats
* sort members
* run formatter
2022-04-19 11:42:41 -04:00
John Colvin
ea0705e7e4
fix: Avoid dupl keys when stripping exch from SecurityExpiration
2022-04-19 11:42:41 -04:00
John Colvin
7b9310f595
refactor: Repl IDict w/ IReadOnlyDicts in vs risk calc
2022-04-19 11:42:41 -04:00
John Colvin
a31f775de8
refactor: Simplify change_vol_dervs_to_percentages
2022-04-19 11:42:41 -04:00
John Colvin
f061630789
refactor: Clean up VolSurfaceRiskCalculator
...
* Use new lang feats
2022-04-19 11:42:41 -04:00
John Colvin
5d442125b0
refactor: Use switch case for is_delta_greek impl
2022-04-19 11:42:41 -04:00
John Colvin
e600f444f8
refactor: Clean up Slide/VolSurfaceRisk calcs
...
* Gather related 'out params' into new SecurityPositionData struct
* Break up long compute_and_fire fn in SlideReportCalculator into several fns
* Use new log_op fn to eliminate messy timer code sections
* Run formatter
2022-04-19 11:42:41 -04:00
John Colvin
a8ae4d6655
Add create, append, to_comparer fns for ComparerBuilder
2022-04-19 11:42:41 -04:00
John Colvin
a885fa7065
Add LoggerExtensions to record (time) ops
2022-04-19 11:42:41 -04:00
John Colvin
65665dc384
Add HierarchicalDictionary
...
A useful abstraction for nested dictionaries
2022-04-19 11:42:40 -04:00
John Colvin
a8992edf88
fix: Check report type when converting to Report pbuf
2022-04-19 11:42:40 -04:00
John Colvin
1b7dd28c2f
fix: Use key/value comparer args when creating SetMap
...
This is a pre-emptive fix, as this fn isn't currently referenced
2022-04-19 11:42:40 -04:00
John Colvin
ae692432a2
fix: Use sec type arg when converting vsexp to securityexp
...
Bugs (fixed):
* duplicate items in slide report expirations dropdown
In code recently ported from edge, the security type was [assumed to be]
implied by the symbol's capitalization: futures begin with upper-case letters,
while options begin with lower-case. This assumption has become unreliable (at
deribit, both futures and options are all upper-case).
2022-04-19 11:42:40 -04:00
John Colvin
c779b31a90
refactor: Clean up [csharp] co2 classes
...
* Move all [non-nested] classes/structs into own files
* Sort members
* Fix naming convention violations
* Use new lang feats
* Run formatter
2022-04-19 11:42:40 -04:00
John Colvin
cb4bf8f5f4
Remove unused class TimeAndSalesModel
2022-04-19 11:42:40 -04:00
John Colvin
96cd807720
Add fake slide report data
2022-04-19 11:42:40 -04:00
John Colvin
07c3150d2a
refactor: Change abstract TradeLogRow class to interface
2022-04-19 11:42:40 -04:00
John Colvin
c66a405e6d
refactor: Enable nullable (lang feat) on some Slide files
2022-04-19 11:42:40 -04:00
John Colvin
0558381bcb
Add DataTemplates ResourceDictionary to TimeFilterControl
...
So callers aren't required to include it themselves
2022-04-19 11:42:40 -04:00
John Colvin
1db47684b7
refactor: Remove redundant ImmutableWrapper for list
2022-04-19 11:42:40 -04:00
John Colvin
e16abd2e8b
Check AdornerLayer not null when adding drag adorner
...
Bugs (fixed):
* Opening slide report settings dialog causes crash
2022-04-19 11:42:40 -04:00
John Colvin
f7adc84f0e
feat: Port slide report over from edge
2022-04-19 11:42:40 -04:00
John Colvin
3acd51b247
refactor: Replace non pbuf ReportParameters with pbuf Report
2022-04-19 11:42:40 -04:00
John Colvin
6caab9c017
refactor: Make tags create/activate reports type-agnostic
2022-04-19 11:42:40 -04:00
John Colvin
97c61d2a4f
refactor: Rename SingleSlideReportCalculator SlideReportCalculator
2022-04-19 11:42:40 -04:00
John Colvin
4f6a0061fe
refactor: Clean up ObservableDemuxer
...
* Move to spark_core
* Split classes into sep files
* Use new lang feats
* Run formatter
2022-04-19 11:42:40 -04:00
John Colvin
5b201069e8
Add Bootstrap ext fn for IObservables
2022-04-19 11:42:39 -04:00
John Colvin
8b5d79847f
Add 'Select' ext fns for Update/TableUpdate
2022-04-19 11:42:39 -04:00
John Colvin
2d112a86af
refactor: Remove LegacyTableUpdate (repl w/ TableUpdate)
2022-04-19 11:42:39 -04:00
John Colvin
8806a62af7
refactor: Clean up ReflectionHelper/ObjectSnapshot
...
* Consolidate as much code as possible in ReflectionHelper (spark_core)
* Sort members
* Run formatter
2022-04-19 11:42:39 -04:00
John Colvin
01748ee847
Remove ExpirationTemplate from DataTemplates.xaml
...
It isn't general purpose enough to justify its presence in this global
resource file
2022-04-19 11:42:39 -04:00
John Colvin
6f1fb24a31
refactor: Move ExpTextConverter into own file
...
Also rename it "ExpirationTextConverter"
2022-04-19 11:42:39 -04:00
John Colvin
c30459115e
Post accounts-map on the bus
2022-04-19 11:42:39 -04:00
John Colvin
7cdfcbf6dc
Support changes to icon in SparkMenuItem
2022-04-19 11:42:39 -04:00
John Colvin
acf140e670
Add ObservableValue to spark_core
2022-04-19 11:42:39 -04:00
John Colvin
df4a18e887
refactor: Clean up ComparerBuilder
...
* Implement IList<IComparer<T>>
* Use new lang feats
* Run formatter
2022-04-19 11:42:39 -04:00
John Colvin
dc3836065a
refactor: Move pbuf clone exception handling into 'try_clone'
2022-04-19 11:42:39 -04:00
John Colvin
3df7ab194c
refactor: Clean up ProtobufSerializationHelper
...
* Use new lang feats
* Rename clone_protobuf -> clone
* Run formatter
2022-04-19 11:42:39 -04:00
John Colvin
c0af8460a2
refactor: Move ProtobufSerializationHelper into spark_core
2022-04-19 11:42:39 -04:00
John Colvin
85d94a84a8
Add Chevron icons (right and down)
2022-04-19 11:42:39 -04:00
John Colvin
6ad6a361f9
Execute async command in try/catch
...
Purpose: treat both completed and canceled tasks as "finished."
Previously, the AsyncCommand waited endlessly for "canceled" tasks to finish.
As a result, if the command disallowed concurrent execution, the 'CanExecute'
flag would never be flipped back to true, and any buttons associated with that
command would be permanently disabled.
2022-04-19 11:42:39 -04:00
John Colvin
2a5dcab60f
refactor: Move UserSymbol into own file
2022-04-19 11:42:39 -04:00
John Colvin
02b97d594f
Add ReportExtensions
2022-04-19 11:42:38 -04:00
John Colvin
5e1cac251b
fix: Actually copy untracked files in git-save.py
2022-04-19 11:42:38 -04:00
John Colvin
3639638bf2
refactor: Clean up AnalyticsShellModule a bit
2022-04-19 11:42:38 -04:00
John Colvin
e255e054d4
refactor: Split analytics module/viewmodel into sep classes
2022-04-19 11:42:38 -04:00
John Colvin
8c9d8e7089
refactor: Move Commands dir into ViewModel
2022-04-19 11:42:38 -04:00
John Colvin
f0e069d348
Add IProtobuf
2022-04-19 11:42:38 -04:00
John Colvin
4f32c8469e
refactor: Clean up DateFormatter
...
* move DateFormat enum into sep file
* sort members
* use new lang feats
* run formatter
2022-04-19 11:42:38 -04:00
John Colvin
b2679ecb60
Clean up old (recently ported) slide/report code
2022-04-19 11:42:38 -04:00
John Colvin
e0537267a2
Add max_name_length field to EnumDescriptor
2022-04-19 11:42:38 -04:00
John Colvin
3440afd0d6
refactor: Split log-related classes into sep files
2022-04-19 11:42:38 -04:00
John Colvin
cab65a0aaf
refactor: Clean up TimeFilterVM
...
* Move ITimeFilterVM into separate file
* Use new lang feats
* Sort members
* Run formatter
2022-04-19 11:42:38 -04:00
John Colvin
910908b43e
Add some handy Array utils
2022-04-19 11:42:38 -04:00
John Colvin
cf1c1e6df1
refactor: Clean up ArrayUtils
2022-04-19 11:42:38 -04:00
John Colvin
ff9b4f5b2f
build: Upgrade dotnet core 5.0 -> 6.0
2022-04-19 11:42:38 -04:00
John Colvin
01899428e3
ui: Bind alignment props in ComboCheckBox template
2022-04-19 11:42:37 -04:00
John Colvin
ff75ade140
fix build (client): Change 'uint' -> 'uint32_t'
...
Apparently the includes don't define 'uint' on windows
2022-04-19 11:34:28 -04:00
taha afzal
25d5f36645
Exchange positions are periodically published by OrderServices
2022-04-19 10:33:45 -04:00
Taha Afzal
5c5f042cac
Logging in the Bus and threadedBlackboard classes adjusted
2022-04-18 13:16:16 -04:00
Taha Afzal
7da0b32838
SpreadSpec changes are handled rightaway (instead of being put on a timer)
2022-04-18 13:16:16 -04:00
Taha Afzal
389896be07
Retiring some SpreadBox superflous settings
2022-04-18 13:16:16 -04:00
Taha Afzal
f55323afca
SpreadBox settings cleaned up (partially)
2022-04-18 13:16:16 -04:00
Taha Afzal
0d5313d263
SpreadCalculationSynchronizer checks SpreadValue changes before posting them to the bus
2022-04-18 13:16:16 -04:00
Taha Afzal
bc676b9731
Cleaning up the SpreadBox calculation code
2022-04-18 13:16:16 -04:00
Taha Afzal
0313a90196
Cleaned up SpreadManager
2022-04-18 13:16:16 -04:00
Taha Afzal
fca1c62a55
Filtering expired contracts in the UI
2022-04-18 13:16:16 -04:00
Taha Afzal
2dcb0d6177
Fixed PriceControlGUI so that the price coule br overriden (locked) based on the consturctor arguments. For TC2 it does notallow overrides whereas for SpreadBoxes it does
2022-04-18 13:16:16 -04:00
Taha Afzal
e2eea4bca7
Deleting unused SpreadBox spread types
2022-04-18 13:16:15 -04:00
Taha Afzal
9218184ef1
SpeadBox theo default formatting set to 4 dec places
2022-04-18 13:16:15 -04:00
Taha Afzal
a9ec9e87be
SpreadBox added
2022-04-18 13:16:15 -04:00
taha afzal
f650ff3ccf
Modfified IEMOrderMux interface
2022-04-16 20:38:02 -04:00
taha afzal
b2640d2203
Updading interface for Emumba 2.2.5
2022-04-16 00:54:03 -04:00
taha afzal
c3b05d27f1
EMNativeOrders clean up (this is partially done, reporting and limiter reporting needs cleaning up)
2022-04-15 01:22:51 -04:00
taha afzal
9b3a706328
Cleaned up EMExecutionGateway
2022-04-13 17:16:03 -04:00
taha afzal
290392553e
EMNativeOrder does not mark all recovered orders as errors
2022-04-13 17:16:03 -04:00
taha afzal
07838553a6
Added Exchange Positions stream to OrderService
2022-04-13 17:16:03 -04:00
taha afzal
824ce8b172
ExchangePosition routed all the way to OrderServer 2
2022-04-13 17:16:03 -04:00
taha afzal
6ecccdee7f
Routing ExchangePosition to OrderServiceServer
2022-04-13 17:16:03 -04:00
taha afzal
96d58942d0
Added all open orders query to IEMOrderMuxer
2022-04-13 17:16:03 -04:00
taha afzal
9c33405383
Added position enquiry function to (and asycn callback) to IEMOrderMuxer
2022-04-13 17:16:03 -04:00
taha afzal
a8a5fc3672
Stopgap fix for order final state not being reached, by piggybacking on the trades callback
2022-04-13 17:16:03 -04:00
taha afzal
0178716b01
Orders API now supports fractional quantites
2022-04-13 17:16:03 -04:00
John Colvin
9c6327160d
fix: Set response-success to true in delete report
...
Bugs (fixed):
* When a report is successfully deleted, the response from the server
indicates failure
2022-04-08 12:37:58 -04:00
Taha Afzal
5975e1bfb1
Adding algo dropdown to the ladder for options
2022-03-31 14:58:13 -04:00
taha afzal
5a0c70c301
Removing some unused protos
2022-03-31 14:57:40 -04:00
taha afzal
b21c6f45b7
Putting Deribit securities in config
2022-03-31 14:34:29 -04:00
taha afzal
73596546bf
Moving Deribit symbols from SIM to Deribit
2022-03-31 14:34:29 -04:00
taha afzal
6bf83c9e72
Removing the temporary file based order entry mechanism in EmMDListener
2022-03-31 14:34:29 -04:00
taha afzal
9385176bb5
Cleaning up IEMOrderMuxer
2022-03-31 14:34:29 -04:00
taha afzal
64240c5f3b
Deribit orders (mostly) work
2022-03-31 14:34:29 -04:00
taha afzal
32c4d05106
NativeOrder and ExecutionGateway for EM via Deribit
2022-03-31 14:34:29 -04:00
taha afzal
65afb81f33
Added an order interactor that can read fro the file and secd/update/cancel orders
2022-03-31 14:34:29 -04:00
John Colvin
21a4673a1f
Fix typos in ReportParams pbuf
2022-03-21 13:11:59 -04:00
Taha Afzal
03c13e37db
Time calculation now considers time of expiration, however the time to expire is hard coded for Deribit options
2022-03-06 21:23:45 -05:00
taha afzal
e8dfbe1d01
AnalyticsServiceServer's archive vol request now respects the symbol in the arguments
2022-03-04 19:01:51 -05:00
Taha Afzal
cd576793f7
Straddle is normalized for the fwd
2022-03-03 22:36:24 -05:00
Taha Afzal
736cb21e4d
Changed the tag/data to request archived vols
2022-03-03 16:25:05 -05:00
Taha Afzal
d32efe90b9
Changed the ArchivedVol Request type to match the service call type
2022-03-03 16:25:05 -05:00
Taha Afzal
f873675628
VolSurfaceUsage and Sheet launch hard coded value changes for ETH
2022-03-03 16:25:05 -05:00
Taha Afzal
65cb5e434b
VolSurface Usage cleaning up
2022-03-03 16:25:05 -05:00
Taha Afzal
272fd35699
Archived vols now contains the SecTups that are part of the vols
2022-03-03 16:25:05 -05:00
Taha Afzal
838546b497
Saving vols with vol change and showing vol change in sheets
2022-03-03 16:25:05 -05:00
Taha Afzal
a17fcb50c4
Adding call to save theos
2022-03-03 16:25:04 -05:00
John Colvin
70def3ce72
Multiply delta and vol by 100 in time/sales ui
2022-03-03 15:24:26 -06:00
John Colvin
627d307781
Split time/sales 'Edge' col into Buy/Sell Edge cols
2022-03-03 15:24:21 -06:00
John Colvin
b96cdafc71
fix: Divide theo & delta by driver to normalize them
...
Bugs (fixed):
* Theo and delta are wrong in time/sales
2022-03-03 11:39:40 -05:00
John Colvin
f9f6fa6233
fix: Prevent time/sales vertical scrollbar clipping
2022-03-02 23:27:01 -05:00
John Colvin
d8dd9ce4a2
Skip hidden cols when computing time/sales win width
2022-03-02 23:27:01 -05:00
John Colvin
07a349e0d2
refactor: Clean up TimeAndSalesWindow/Factory
2022-03-02 23:27:01 -05:00
John Colvin
65e23373cd
Init grid settings in TimeAndSales default settings
2022-03-02 23:27:00 -05:00
John Colvin
6698188e00
Allow null 'can execute' delegate in SparkCommand.create
2022-03-02 23:27:00 -05:00
John Colvin
0242d964b2
feat: Add greeks to Time/Sales
2022-03-02 23:27:00 -05:00
John Colvin
c1d2fc6ead
Add IReadOnlyList wrapper impl for IList
...
Useful for lazily preserving the Count/indexer features when converting
IList to IReadOnlyList
2022-03-02 23:17:43 -05:00
John Colvin
74bb094582
Filter out empty updates in trades IObservable
2022-03-02 23:17:43 -05:00
John Colvin
9e14595458
Add fn to merge IObservable trades with greeks
...
Also clean up up TradesSource a bit
2022-03-02 23:17:43 -05:00
John Colvin
fdb90a689a
refactor: Clean up TimeAndSalesSettings
...
* Use new lang feats
* Run formatter
2022-03-02 23:17:43 -05:00
John Colvin
a1b3fbf3e9
refactor: Clean up TimeAndSalesVM
...
* Use new lang feat feats
* Run formatter
2022-03-02 23:17:43 -05:00
John Colvin
fccaa23d1f
refactor: Rename TimeAndSalesView.Columns -> TimeAndSalesColumnType
2022-03-02 23:17:43 -05:00
John Colvin
df789fed2e
refactor: Don't copy trade_key in TimeAndSalesRowVM
2022-03-02 23:17:43 -05:00
taha afzal
c254b982a2
Removing the hardcoded BTC
2022-03-02 18:38:36 -05:00
taha afzal
78adea7bcb
Added SecTup to VolSurfaceUsage
2022-03-02 13:59:45 -05:00
John Colvin
5085874b86
fix: Invalidate DIYGrid row view in Loaded callback
...
Bugs (fixed):
* Some grids are showing blank rows (esp Time/Sales, mview)
2022-03-01 16:58:05 -05:00
John Colvin
8631b85e42
style: Add documentation to ConnectableObservableSelector
2022-03-01 16:58:05 -05:00
taha afzal
f9449f5fa6
Implemented get_archived_theos in AnalyticsServiceServer
2022-02-28 19:29:55 -05:00
taha afzal
0cef0ce4e5
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-28 14:36:43 -05:00
taha afzal
bac62f99ea
in AnalyticsService ArchiveTheo now has the key istead of the Security
2022-02-28 14:36:27 -05:00
John Colvin
017a788933
refactor: Clean up Ladder
...
* Create an official LadderWindow class (previously, ladder windows were
instantiated as `AnonymousShellWindow`s in a terse, hard-to-read creation fn)
* Run formatter
2022-02-28 14:29:12 -05:00
John Colvin
224b518a60
fix: Set width/height for new shell windows
...
Bugs (fixed):
* The ladders open tiny like the tiny balls (in vs graph)
2022-02-28 14:29:12 -05:00
John Colvin
f98f6380c4
Add ThreadSafeEvent and SpinLockExtensions
2022-02-28 14:29:12 -05:00
John Colvin
9a8b156443
Add observe_title fn to ShellWindowBase
...
This impl handles some tricky threading issues
2022-02-28 14:29:12 -05:00
John Colvin
a269b8efe1
Fix duplicate protomember ids in UserSettings
2022-02-28 14:29:12 -05:00
John Colvin
b609a290db
Add nifty IObservable KeyResolver util
2022-02-28 14:29:12 -05:00
John Colvin
ccdc033c60
build (client): Activate py venv before generating cpp protos
...
Finally, the client can be built from a shell outside of the venv
2022-02-28 14:21:31 -05:00
John Colvin
ed864cae5d
style: Format cmake files
2022-02-28 14:21:31 -05:00
John Colvin
1dec925c73
Fix typo in 'ticks-per-row' rounding logic for ladder
2022-02-28 14:21:31 -05:00
John Colvin
9c5856f247
Link against 'fmtd' if building debug
2022-02-28 14:21:31 -05:00
John Colvin
024572c35c
Update externals to get openssl and fmt release lib fixes
2022-02-28 14:21:30 -05:00
John Colvin
4e6ae49f26
style: Remove old/useless comments in spark_sdk.csproj
2022-02-28 14:21:30 -05:00
John Colvin
1aa57a2f6f
Fix typo net471 -> net5.0 in spark_sdk.csproj
2022-02-28 14:21:30 -05:00
John Colvin
33e2f4b6ff
build: Use appropriate debugtype arg for debug/release
2022-02-28 14:21:30 -05:00
taha afzal
44603c0b4c
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-28 13:30:09 -05:00
taha afzal
f9c79d5b44
Added vol/theo archiving to AnalyticsService
2022-02-28 13:29:57 -05:00
Taha Afzal
771258eeb7
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-28 09:05:21 -05:00
Taha Afzal
d37e82d200
Exp Params' old exps are deleted at save time
2022-02-28 09:05:10 -05:00
taha afzal
fb2fd21417
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-26 23:06:19 -05:00
taha afzal
98362c7eb9
Fixing the deribit connection drop issue
2022-02-26 23:05:47 -05:00
Taha Afzal
128bc3c391
Fixing the crash with expired drivers
2022-02-24 15:36:23 -05:00
John Colvin
c294406934
dev/john: Update/format docker scripts
2022-02-23 15:07:50 -06:00
John Colvin
3825ce80eb
dev/john: Update repo path in johns docker
2022-02-23 15:05:12 -06:00
John Colvin
01d6731929
dev/john: Cleanup (and fix) setup_builds.fish
2022-02-23 15:05:12 -06:00
John Colvin
dff088fe37
Fix typo in include directive
...
Must have missed this in the protobuf-cleanup commit,
884a79e13a
2022-02-23 15:05:12 -06:00
Taha Afzal
2c4a203109
Bug with saving exp params
2022-02-21 23:59:02 -05:00
John Colvin
c1b717d8de
refactor: Split ScatterSeries color into 'fill' and stroke'
...
Previously, 'color' was simply an alias for 'fill.' The new stroke property
provides some useful functionality, as it:
* can can be used to set the marker shape's outline color
* makes it possible to use 3 marker shapes that were thought to be broken
(Cross, Plus, and Star). These shapes were never actually broken, they
were merely invisible because they were colored [only] with the stroke
property
2022-02-21 14:46:16 -05:00
John Colvin
5fb5a67210
style (ui): Make implied vol balls bigger
2022-02-21 14:24:46 -05:00
John Colvin
72ca24de18
refactor: Remove unused ctr from ScatterSeriesSettings
2022-02-21 13:46:10 -05:00
John Colvin
dbb3cfc7cc
refactor: Post exp params to bus in an ImmutableList
...
Previously, they were posted in an IEnumerable and thus created lazily.
which seemed ill-advised as the bus is multithreaded
2022-02-21 13:17:45 -05:00
John Colvin
2229abdc36
fix: Set vs window title to vs name in main win
...
Was only doing this in the 'dummy' window before
2022-02-21 12:58:25 -05:00
John Colvin
552836eafc
style (ui): Add some padding around cells in vs grid
2022-02-21 12:00:56 -05:00
John Colvin
17af19661c
fix: Never insert duplicate columns in vs grid
...
Bugs (fixed):
* Volsurface window crashes sometimes when columns are changing
2022-02-21 12:00:56 -05:00
Taha Afzal
6bd2d9cd90
Fixing the build
2022-02-21 11:24:59 -05:00
Taha Afzal
d5c3c64a18
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-21 11:11:18 -05:00
Taha Afzal
f27fa7de8e
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-21 11:10:32 -05:00
Taha Afzal
f568691731
Adding report API to analytics server
2022-02-21 11:10:15 -05:00
John Colvin
7506576138
fix: Constrain order ticket header width
...
Bugs (fixed):
* Order ticket is not showing the X to dismiss the window
2022-02-21 00:01:07 -05:00
John Colvin
60fa83273c
feat (ui): Add graph lines in vs window
2022-02-20 23:12:35 -05:00
John Colvin
0f6ee88075
fix: Load/save all settings props in [vs] AxisVM
...
Bugs (fixed):
* When the vs window is restored (with a workspace):
* Both axes lack titles
* Values aren't formatted as percentages in y axis
2022-02-20 22:56:36 -05:00
John Colvin
99b1241fdb
ui: Add row padding in vs grid
2022-02-20 22:01:24 -05:00
John Colvin
6ffc3d4cad
fix: Maintain vs grid row sorting when selected exps change
2022-02-20 22:01:24 -05:00
John Colvin
4b2eda6a24
Add ObservableSortedCollection 'bind' ext fn
2022-02-20 22:01:24 -05:00
John Colvin
1a72533934
diag: Add Trace fn for ToggleButton
2022-02-20 22:01:24 -05:00
John Colvin
f539a533e6
ui: Give TLC to exp params window
2022-02-20 22:01:24 -05:00
John Colvin
1e693af08f
Add some Tuple ext fns for convenience
2022-02-20 22:01:24 -05:00
John Colvin
7916417b71
Add some IObserver utils/ext fns for convenience
2022-02-20 22:01:24 -05:00
John Colvin
46c38a0ff7
refactor: Clean up CompositeObserver
...
* Implement IList<IObserver<T>>
* Add static 'create' fns to support template type inference
* Sort members
* Run formatter
2022-02-20 22:01:23 -05:00
John Colvin
9d8f65adc0
Fix typo in ObservableAutoWrapper.connect overload
...
Previously, it wasn't passing the on_removed param to the other overload
2022-02-20 22:01:23 -05:00
John Colvin
1618784c0f
refactor: Remove unused UISettings.proto
2022-02-20 22:01:23 -05:00
John Colvin
6b0f87bd31
ui: Host HeaderContent in ToggleButton in ComboCheckBox
...
Bugs (fixed):
* HeaderContent in ComboCheckBox overlaps expander arrow
2022-02-20 22:01:23 -05:00
John Colvin
e754ce0ec4
refactor: Begin renaming DelegateCommand to Command
...
This renaming makes ICommand creation less terse. For now, leave
DelegateCommand in place, as its references are ubiquitous
TODO: Replace all remaining references to DelegateCommand w/ Command
2022-02-20 22:01:23 -05:00
Taha Afzal
38caa7f892
PNL calculator pushed in
2022-02-17 20:54:15 -05:00
Taha Afzal
dd1d9b5df8
Adding slide calculator
2022-02-17 18:41:09 -05:00
Taha Afzal
cb8a23c73f
Adding combo report classes (1)
2022-02-17 17:38:12 -05:00
Taha Afzal
41a072d4d2
Started importing Risk
2022-02-16 23:32:21 -05:00
Taha Afzal
0905ea8c26
Removing the log in the VolSurfaceMDUnit which wa sporving to be very expensive
2022-02-16 19:41:49 -05:00
Taha Afzal
a0ca0e5fd0
Removing more unused TC2 code
2022-02-16 15:48:07 -05:00
Taha Afzal
e00015dccf
Removing unused TC2 classes
2022-02-16 15:32:34 -05:00
Taha Afzal
865a12213c
Theos can optionally be displayed as normalized by fwd
2022-02-16 15:20:42 -05:00
Taha Afzal
b779014c13
Order ticket launch, setting for fwd normalized theos (both TC2)
2022-02-16 14:49:50 -05:00
Taha Afzal
4c04a78c79
cleaning unused code in TC2
2022-02-15 21:17:30 -05:00
Taha Afzal
32b769bdaa
TC2 settings can now be restored
2022-02-15 18:20:54 -05:00
Taha Afzal
4c507aae4e
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-15 13:03:58 -05:00
John Colvin
8a17adb49d
refactor: Overload OnDispatcher w/ Dispatcher param
...
By default, this param is assigned Dispatcher.CurrentDispatcher. This follows
the overload pattern in SubscribeOnDispatcher
2022-02-15 12:58:52 -05:00
John Colvin
09aeef03a6
fix: Use calling thread's Dispatcher in SubscribeOnDispatcher
2022-02-15 12:56:58 -05:00
John Colvin
e020cca9d2
fix: Don't await dispatcher op in OnDispatcher notify impl
...
Bugs (fixed):
* Crash on shutdown if OptionsView window is open, due to an unhandled
TaskAborted exception in the OnDispatcher ext fn
2022-02-15 12:56:57 -05:00
Taha Afzal
f86ba4f8fd
Removed the expired exps from the sheets
2022-02-15 00:16:24 -05:00
Taha Afzal
d6e724a47a
Interp'd drivers are now showing in TC2
2022-02-14 23:45:35 -05:00
Taha Afzal
a64a794a97
Hiding driver freeze and headers at the top
2022-02-14 20:31:35 -05:00
Taha Afzal
9d5202c49c
Default columns visibility is better now
2022-02-14 18:30:02 -05:00
Taha Afzal
cea0591a77
Settings were not taking affect when they were being set, Theo Acceptance button hidden
2022-02-14 18:18:19 -05:00
John Colvin
927ee4626e
Set vs window title to vs name
2022-02-14 14:31:14 -05:00
John Colvin
47a0649de3
Add OptionsViewWindow (tc2) to MarketShellModule
2022-02-14 14:19:45 -05:00
John Colvin
2a50990849
refactor: Clean up SparkTags
2022-02-14 14:01:52 -05:00
John Colvin
03d89de6b9
Add ShellWindowBase class
...
This is in anticipation of the special winforms shell window for tc2
(eventually, SparkWindow should derive from this class as well)
2022-02-14 14:01:52 -05:00
John Colvin
884a79e13a
refactor: Clean up protobuf files
...
* Rename files to snake_case (per Google style guide)
https://developers.google.com/protocol-buffers/docs/style
* Prohibit single line functions in clang-format for proto files
* Run clang-format
2022-02-14 14:01:52 -05:00
John Colvin
47ce487162
refactor: Use IBus to remove vs win (not IWindowManager)
2022-02-14 14:01:51 -05:00
John Colvin
957172f282
refactor: Add 'hide_window' tag so wins can be removed via bus
2022-02-14 14:01:51 -05:00
John Colvin
8d081e0c45
refactor: Clean up shell window infrastructure classes
...
Cleans up: WindowManager, FloatingWindow, ShellWindowVM, a few IShellModule
implementations
* Sort members
* Use new lang feats
* Make code style more consistent with rest of code base
* Ensure FloatingWindow interactions occur on the Application Dispatcher thread
* Run formatter
2022-02-14 14:01:51 -05:00
John Colvin
991822bede
refactor: Rename CheckInvokeAsync to snake_case
...
Also add documentation
2022-02-14 14:01:51 -05:00
John Colvin
8b7b76a337
refactor: Move vs ui files into new module dir
2022-02-14 14:01:51 -05:00
John Colvin
af12d5bba1
refactor: Rename VolSurfaceModule -> AnalyticsModule
2022-02-14 14:01:51 -05:00
John Colvin
c2c80271a3
ui (style): Stretch ComboCheckBox Header ContentPresenter
...
This gives users the ability to control header content alignment via the header
content template (previously it was always aligned Top-Left)
2022-02-14 14:01:51 -05:00
John Colvin
110faefc96
feat: Add axis-fit behavior setting for vs graph
2022-02-14 14:01:51 -05:00
John Colvin
4cf8959b13
ui: Refine vs exp header col style
2022-02-14 14:01:51 -05:00
John Colvin
e3b6c9829a
diag: Impl ToString for Series(Set)VM
2022-02-14 14:01:50 -05:00
John Colvin
ffdd0fcff7
fix: Remove item from vis series when removed from series
2022-02-14 14:01:50 -05:00
John Colvin
527cea74d3
ui: Use Visibility.Collapsed to hide vs r/w cell content
...
This prevents unneccessary white space as Collapsed visuals, unlike
Hidden ones, don't occupy space
2022-02-14 14:01:50 -05:00
John Colvin
1fcd19c029
refactor: Clean up DIYGrid.HighPerformanceRow
2022-02-14 14:01:50 -05:00
John Colvin
6bf2c297d7
style: Clean up RecycleBin
2022-02-14 14:01:50 -05:00
John Colvin
2489a2ce0c
Impl IReadOnlyDictionary in VisualDictionary
2022-02-14 14:01:50 -05:00
John Colvin
6d5e9eb94e
style: Use switch expression in vs col view_factory
2022-02-14 14:01:50 -05:00
John Colvin
7ff2850b2d
ui (style): Right-align vs grid cell content
2022-02-14 14:01:50 -05:00
John Colvin
f70c2d4653
feat: Add grid lines to volsurface ui
2022-02-14 14:01:50 -05:00
John Colvin
d7a91bed10
refactor: Clean up DIYGrid super headers
2022-02-14 14:01:49 -05:00
John Colvin
f7178f3fa7
fix: Always Invalidate column layout on horizontal scroll
...
Previously, was only doing this when the [main grid] horizontal scroll
change triggered a similar scroll change in the column headers
2022-02-14 14:01:49 -05:00
John Colvin
77060841cb
diag (refactor): Default all params in WPFTracer ctr
2022-02-14 14:01:49 -05:00
John Colvin
701649cb9b
diag: Add trace fn for ScrollBar
2022-02-14 14:01:49 -05:00
John Colvin
3a598479fc
refactor: Remove redundant event handler
2022-02-14 14:01:49 -05:00
John Colvin
4ca3f6b2f2
refactor: Move DIYGridExtensions into own file
2022-02-14 14:01:49 -05:00
John Colvin
f30f0876a9
refactor: Replace DataContextHooks class w/ static fn
2022-02-14 14:01:49 -05:00
John Colvin
5c04f52be9
Don't overwrite shortheader in DIYGrid ctr
2022-02-14 14:01:49 -05:00
John Colvin
0c4cafcf87
Remove unused fns from DIYGridSortHelper
2022-02-14 14:01:49 -05:00
John Colvin
d72e9ad2a6
refactor: Add id prop to DIYGridSuperHeader
2022-02-14 14:01:49 -05:00
Taha Afzal
c0f7c28bda
Deleting mor eunused code
2022-02-14 13:57:36 -05:00
Taha Afzal
511955c173
Removing unused TC2 classes
2022-02-14 13:50:45 -05:00
Taha Afzal
20c914492e
NMSheetBBODataSource had a stub for threaded bb compatibility, removing it
2022-02-14 12:56:59 -05:00
Taha Afzal
1807e02416
Removed the Pair class from TC2
2022-02-14 12:50:43 -05:00
Taha Afzal
04b1b0ce4e
Thinned up the ThreadedBB further, can one day be easily replaced by the IBus
2022-02-14 11:58:54 -05:00
Taha Afzal
de2eb433b6
Unplugging the logic for a bunch of TC2 data (position, rolover vol, presaved values etc)
2022-02-13 23:53:32 -05:00
Taha Afzal
cb10a5e99e
Old bb and threaded bb are out from TC2
2022-02-13 23:41:43 -05:00
Taha Afzal
133034ad07
Removing 2 older methods in ThreadedBB
2022-02-13 22:00:04 -05:00
Taha Afzal
29f43464fa
Removing TC2's dependence on Blackboard
2022-02-13 21:30:00 -05:00
Taha Afzal
0b7902029a
Removing all untyped tags from TC2
2022-02-13 13:11:50 -05:00
Taha Afzal
d514f9ed15
Getting rid of old blackboard - 1
2022-02-13 12:35:55 -05:00
Taha Afzal
5b0a056183
Removing more unused tags
2022-02-12 20:07:19 -05:00
Taha Afzal
7f3c7ed376
Cleanup continues
2022-02-12 11:14:04 -05:00
Taha Afzal
09760d29d5
Option md for TC2 fixed
2022-02-12 01:46:29 -05:00
Taha Afzal
d5574ad90f
Cleaning out TC2 tags
2022-02-12 00:31:50 -05:00
Taha Afzal
354984404a
Cleaning up of TC2 tags
2022-02-11 17:42:12 -05:00
Taha Afzal
45b41a9ab8
Removing TC2's HighPerformanceTimer
2022-02-11 13:10:37 -05:00
Taha Afzal
fddcb58555
Getting rid of the TheoPoint that got moved over with TC2
2022-02-11 12:03:44 -05:00
Taha Afzal
614552fdad
Fixing a crash related to multiple representation of the same symbol in volsurface relationships
2022-02-11 09:57:33 -05:00
Taha Afzal
552b7dda0a
Comments to make sense of the TC2 Sheets
2022-02-11 09:42:50 -05:00
Taha Afzal
3da7741f24
TC2 is part of Spark now - we will rule the crypto options space
2022-02-10 22:38:32 -05:00
Taha Afzal
a08dd1e22d
Cleaned up unused namespaces in these 2 classes
2022-02-09 18:17:03 -05:00
Taha Afzal
27399b3dbe
interpolating for option expirations for whome the drivers are not set
2022-02-09 17:40:08 -05:00
Taha Afzal
4d9e7ca6e8
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-08 17:35:05 -05:00
Taha Afzal
2f2abe840a
Added interp type in the analytics service proto
2022-02-08 17:34:48 -05:00
Taha Afzal
3506c65895
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-08 15:05:27 -05:00
Taha Afzal
5d185c51ba
Using fixing price for marked price in SystemContractData
2022-02-08 15:05:04 -05:00
Taha Afzal
b1e7865904
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-08 14:58:30 -05:00
Taha Afzal
cc3e769afe
QueryServer was not copying the Fixing price over (used as a proxy for Mark price)
2022-02-08 14:58:20 -05:00
Taha Afzal
d9cc74cc78
Abstracting out driver retreival from VolSurfaceMDUnit
2022-02-08 13:51:17 -05:00
Taha Afzal
887a39da1a
Disabled the SingleVolSurfaceTheoSource (which showed the before after theos)
2022-02-08 12:49:17 -05:00
Taha Afzal
8b384849f5
Double comparison was not accounting for both double vales NaN's
2022-02-07 21:51:05 -05:00
Taha Afzal
1a66fcafb5
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-07 21:43:48 -05:00
Taha Afzal
a39fba8042
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-07 21:06:00 -05:00
Taha Afzal
9f61999ce9
changing the deribit exps to listen to (until the connection drop is fixed)
2022-02-07 21:05:49 -05:00
Taha Afzal
1a0d2e59ab
Throttling the driver prices for performance
2022-02-07 20:50:06 -05:00
Taha Afzal
7d66d7847f
Adding perf stats log
2022-02-07 17:46:48 -05:00
Taha Afzal
b4c65bdde3
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-07 14:48:00 -05:00
Taha Afzal
8bd003d21e
Perf logs added, plus GreekTuple initialization fixed
2022-02-07 14:47:55 -05:00
John Colvin
11bb41bbb6
Fix typo in mview row vm (delta prop was returning theo)
2022-02-07 12:28:48 -05:00
Taha Afzal
ebefc65b69
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-02-07 11:43:18 -05:00
Taha Afzal
045029bfb4
Taing logging
2022-02-07 11:43:03 -05:00
Taha Afzal
f66ab59f0d
Added mark price for Deribit
2022-02-06 18:49:51 -05:00
John Colvin
4c608eec0e
feat: Hide vs dummy window
2022-02-06 15:09:47 -05:00
John Colvin
2d6864b191
fix: Remove vs dummy win from win manager on main thread
2022-02-06 14:49:10 -05:00
Taha Afzal
1545458c76
Adding mark prices to VOlSurfaceMDUnit
2022-02-05 19:39:11 -05:00
Taha Afzal
d23a390bf6
File name change
2022-02-05 19:08:52 -05:00
John Colvin
9e34cb3d61
feat: Add Vol and Driver cols to mview
2022-02-05 14:40:30 -05:00
John Colvin
170f526617
fix: Add greeks col filters to mview settings
2022-02-05 14:40:30 -05:00
John Colvin
17e0b37882
feat: Add greek col comparers to mview
2022-02-05 14:40:30 -05:00
John Colvin
cbe3c1939e
refactor: Clean up mview
...
* Rename members with shorter names (mainly to reduce the width of various
calls, esp those that add columns in the MarketViewVM constructor)
* Move mview settings classes into own files
* Run formatter
2022-02-05 14:40:23 -05:00
Taha Afzal
251b014604
Added vs removal code to the service + adjusted to emumba's interface change
2022-02-04 18:52:49 -05:00
John Colvin
fe416e726a
fix: Make mview columns implement ISortableDIYGridColumn
...
Bugs (fixed):
* mview column sorting is broken
2022-02-04 17:42:04 -05:00
John Colvin
4dcf296af2
Fix re-entrancy bug in PNLWindow when cols are changing
...
* Log column collection change events for diagnostic purposes
* Clean up code a bit
2022-02-04 17:41:32 -05:00
John Colvin
0a8a3bf6f2
refactor: Get rid of DoubleUtil
...
* Consolidate functionality in MathUtils and NumericExtensions
* Define gui-related epsilons in WPFHelper and HighDpiExtensions
2022-02-04 17:41:32 -05:00
John Colvin
174a7baaf4
refactor: Move numeric-extensions into own class
2022-02-04 17:41:32 -05:00
John Colvin
0e41b88bdf
refactor: Clean up MathUtils
...
* Fix name violations
* Make lcm and gcd fns more efficient
* Use modern language features
* Run formatter
2022-02-04 17:41:32 -05:00
John Colvin
822dc0794a
fix: Don't consider infinity a real number
2022-02-04 17:41:32 -05:00
John Colvin
f644a3392b
feat: Hook up (repair) vs grid settings editor
...
The vs grid settings editor code had already been ported over, but never
actually worked
2022-02-04 17:41:32 -05:00
John Colvin
8634386862
refactor: Return bool indicating whether AddOrUpdate adds item
2022-02-04 17:41:32 -05:00
John Colvin
e4a84d343a
Fix typo to correct insertion-idx-bug
2022-02-04 17:41:32 -05:00
John Colvin
7b0a7f7107
refactor: Change sync_with_never_duplicate param to IList
...
This makes the param more flexible, and thus broadens the fn's usability
2022-02-04 17:41:32 -05:00
John Colvin
11f345f3cd
fix: Use IEqualityComparer arg in sync_with_never_duplicate
2022-02-04 17:41:32 -05:00
John Colvin
17f10b2450
refactor: Make DIYGrid.Columns type IReadOnlyList
...
This allows viewmodels to take advantage of IReadOnlyList<out T> covariance and
use more strongly typed column elements
2022-02-04 17:41:31 -05:00
John Colvin
18e26515de
refactor: Support mutations in MutableWrapper list
...
Previously, this class was used to alias IReadOnlyList as an IList, and
each mutation fn would throw a NotSupportedException. Now
mutations are supported if the source list implements IList (in
addition to IReadOnlyList)
2022-02-04 17:41:31 -05:00
John Colvin
ee9d68c0e7
style: Flip if condition to dedent big code block
2022-02-04 17:41:31 -05:00
John Colvin
f019163b35
Add AllowNaN and NaNText props to TickUpDownDouble
2022-02-04 17:41:31 -05:00
John Colvin
b86b9b474f
Fix display_name binding in vs grid settings view
2022-02-04 17:41:31 -05:00
John Colvin
a7372fdcf6
Add ProtoMember attrs to TickDisplaySettings props
2022-02-04 17:41:31 -05:00
John Colvin
59c5fd1256
refactor: Impl ICloneable<GridSettings> in GridSettings
2022-02-04 17:41:31 -05:00
John Colvin
8fc55951eb
Fix typo in tick parse fn
...
The parsed result was being multiplied by the display_multiplier where it
should have been divided by it. The parse fn is the inverse of the format fn,
which multiplies by the display_multiplier
2022-02-04 17:41:31 -05:00
John Colvin
1e60c2fc78
Fix rounding error in tickup/down fns
...
This bug went unnoticed until now bc these particular tickup/down fns
were never called in practice. However, their use is imminent in the
volsurface ui (namely the grid)
2022-02-04 17:41:31 -05:00
John Colvin
b6256244d3
refactor: Add driver to GreeksTuple
2022-02-04 17:41:31 -05:00
John Colvin
e872106c5c
refactor: Make GreeksTuple.with fn params nullable
...
This makes it possible to replace GreeksTuple fields with NaN
(previously, NaN indicated that an arg should be ignored)
2022-02-04 17:41:31 -05:00
John Colvin
fc18d58681
refactor: Default GreeksTuple args to nan in ctr
2022-02-04 17:41:31 -05:00
John Colvin
7845b3fdc1
refactor: Clean up TickExtensions
2022-02-04 17:41:31 -05:00
John Colvin
4b27bbe490
Add handy utils to TickFactors/DisplaySettings
...
* Add static TickFactors presets
* Add TickDisplaySettings default
* Make TickFactors implement ICloneable<TickFactors>
* Add 'with' ext fn
TODO:
* Replace instantiations of TickDisplaySettings that rely on inlined
default values with the TickDisplaySettings.Default prop
2022-02-04 17:41:30 -05:00
John Colvin
3cd0c4073e
refactor: Clean up TickFactors
...
* Get rid of _equals fn that assumes non-null args
* Use modern language features
* Run formatter
2022-02-04 17:41:30 -05:00
John Colvin
a7803877e9
refactor: Rename RoundFractionalUnits to snake_case
2022-02-04 17:41:30 -05:00
John Colvin
0c4010baab
refactor: Rename SafeContains ext fn to snake_case
2022-02-04 17:41:30 -05:00
John Colvin
c6a1b7bc0d
refactor: Rename EmptyIfNull ext fn to snake_case
2022-02-04 17:41:30 -05:00
John Colvin
ee74548daa
refactor: Rename NullIfEmpty ext fn to snake_case
2022-02-04 17:41:30 -05:00
John Colvin
e6c5afa8b2
refactor: Rename IsNullOrEmpty ext fn to snake_case
2022-02-04 17:41:30 -05:00
John Colvin
260d5ddbbe
refactor: Remove unused tick utils (fns and IValueConverters)
2022-02-04 17:41:30 -05:00
John Colvin
ec53038042
refactor: Move safe_equals ext fns to spark_api
2022-02-04 17:41:29 -05:00
John Colvin
3dfbc2635a
build: Set CMP0076 explicitly to remove warning
2022-02-04 17:41:29 -05:00
John Colvin
293fc233f7
Add git-save script to backup changed files
2022-02-04 17:41:29 -05:00
John Colvin
a99f95853a
refactor: Abstract out argparse/file utils from buildspark.py
2022-02-04 17:41:29 -05:00
John Colvin
a3378a188a
refactor: Fix typo criterion -> criteria
2022-02-04 17:41:29 -05:00
John Colvin
7d7ccc67e0
build: Fix typo in buildspark.py
...
* Replace literal '2022' w/ var 'year'
2022-02-04 17:41:29 -05:00
John Colvin
1fa17d63a2
refactor: Rename MarketViewView.Columns -> MarketViewColumnType
2022-02-04 17:41:29 -05:00
Taha Afzal
a743500a37
Cleaning up SingleVolSurfaceMarketImpliedVolSource
2022-02-04 15:53:25 -05:00
Taha Afzal
0a6f2d5adb
Normalizing options market data form coins to USD
2022-02-04 12:39:26 -05:00
Taha Afzal
96e6c0dfb5
In anticipation of the 'mark price' cleaned up the option driver tags
2022-02-03 16:03:21 -05:00
Taha Afzal
775918468d
File name change
2022-02-03 13:41:05 -05:00
Taha Afzal
05101cfcd4
Adding more points to the curve to make it look nice in the UI
2022-02-03 13:22:18 -05:00
Taha Afzal
2de48c0550
Making theos work
2022-02-02 16:11:34 -05:00
John Colvin
07004179a3
Add safe_get_value Dictionary ext fns
2022-02-02 14:17:52 -05:00
John Colvin
05401a4c98
refactor: Rename GetValueOrDefault -> get_value
2022-02-02 14:17:51 -05:00
Taha Afzal
ba678777b1
Market ImpliedVols are being pubished now
2022-01-30 23:41:47 -05:00
Taha Afzal
532c461d17
Added vol to GreekTuple, and a few verbose logs(for now)
2022-01-30 01:29:51 -05:00
Taha Afzal
b98e1ff9dd
Name changes
2022-01-29 23:35:56 -05:00
Taha Afzal
bc7ca707c9
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-01-29 23:11:51 -05:00
Taha Afzal
292b131a4c
Theos are written to the bus now
2022-01-29 23:11:43 -05:00
John Colvin
e2ca78008e
fix: Disable global drag/drop while adding tab to new win
...
Bugs (fixed):
* The shell crashes when dropping a tab into an existing window
2022-01-27 20:34:13 -05:00
John Colvin
85757050bf
fix: Don't add null symbol clause to ContractPicker.result
...
Bugs (fixed):
* Windows launched w/ SecurityCriteria for 'all' symbols (i.e., when no
symbols are selected) don't show any securities
2022-01-27 15:14:51 -05:00
Taha Afzal
8ecbfb935d
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-01-27 13:04:01 -05:00
Taha Afzal
753a56ce95
Cleaning up logs for theos
2022-01-27 13:03:52 -05:00
John Colvin
39d7ab0b76
fix: Remove bad assert statement in SparkWindow
...
Bugs (fixed):
* PNL window crashes on open
2022-01-27 12:58:08 -05:00
John Colvin
95f638175d
refactor: Use 'is null' in null asserts, add msg param
2022-01-27 12:57:18 -05:00
John Colvin
6c6bf492b0
fix: Show candidate output in vs grid readonly cells
2022-01-27 12:18:47 -05:00
John Colvin
2fdce0280a
refactor: Clean up MarketViewRow
...
* Define fields of the same type in separate statements
* Insert some new lines for easier code browsing
* Replace large delegates with local fns
2022-01-27 12:18:47 -05:00
John Colvin
dfa18c632e
Add greeks to mview
2022-01-27 12:18:47 -05:00
Taha Afzal
f8276adaa7
Fixed the save_marker in VolSurfaceInputSnapshot
2022-01-26 23:12:25 -05:00
John Colvin
f184dd5743
fix: Update vs previous_states dropdown on grid change
2022-01-26 19:43:51 -05:00
John Colvin
21da6c813c
Select vs grid row when cell enters edit mode
2022-01-26 19:28:11 -05:00
John Colvin
2601519e8b
Only listen to drag events when IsDragSelectionEnable is true
2022-01-26 19:15:58 -05:00
John Colvin
97cce473e8
refactor: Move DIYGridRowsPresenter to its own file
2022-01-26 19:14:22 -05:00
John Colvin
227a977697
fix: Invalidate vs graph when points change
2022-01-26 18:06:47 -05:00
Taha Afzal
c1a59eba47
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-01-26 15:26:51 -05:00
Taha Afzal
1034ac8fe1
AnalyticsParametersManager now publishes a dictionary of all values, including empty ones
2022-01-26 14:35:38 -05:00
Taha Afzal
5602fc0b1b
Fixing the wing detection as per John
2022-01-26 13:13:43 -05:00
John Colvin
332c32893c
fix: Use IValueConverter (not vs display grid) to fmt/parse input
...
Bugs (fixed):
* User input isn't multiplied by the display multiplier
This issue was that the input text was getting parsed twice before being stored
in the display grid (once by the IValueConverter, and once by the display grid
itself). The parse fn divides by the display multiplier, while the format fn
multiplies by it. Thus, the input was effectively divided by the display
multiplier (bc 1/dm * 1/dm * dm == 1/dm)
2022-01-26 00:40:14 -05:00
John Colvin
9ee52c0827
refactor: Remove unused/deprecated DataGridEx utils
2022-01-25 22:22:18 -05:00
Taha Afzal
ad0c4b25a5
Options 'books' can optionally be built from quotes now
2022-01-25 22:15:44 -05:00
Taha Afzal
14af01182c
Caching volume on statistics_change and passing it over to handl.add_trade
2022-01-25 22:15:44 -05:00
Taha Afzal
ac22ed553e
Fixed the TS timestamp
2022-01-25 22:15:44 -05:00
Taha Afzal
310c7fa4a3
Cleaning up
2022-01-25 22:15:44 -05:00
Taha Afzal
be3daae175
Removing SIM: from Deribit security desc
2022-01-25 22:15:44 -05:00
Taha Afzal
fdc4e59d09
Working around Deribit option md bugs
2022-01-25 22:15:44 -05:00
Taha Afzal
8af07756ef
logs in the VolSurfaceDisplayModel
2022-01-25 18:22:50 -05:00
Taha Afzal
b522b9875e
Merge branch 'volsurface-ui' of bitbucket.org:bluetradesys/spark into volsurface-ui
2022-01-25 17:47:37 -05:00
Taha Afzal
8059ebfad1
Changing the hard coded test vol surface's fwd to be close to reality
2022-01-25 17:47:30 -05:00
John Colvin
5aa3de21bb
fix: Notify vs display model when [candidate] cell input changes
...
Bugs (fixed):
* The commit/revert buttons in vs window are always disabled
2022-01-25 17:34:01 -05:00
John Colvin
230e02014c
refactor: Drop 'Simplified' from vs grid/column class names
2022-01-25 17:25:01 -05:00
John Colvin
be8bc54e46
fix: Remove configserver arg when parsing CLIOptions
2022-01-25 14:14:45 -05:00
John Colvin
c8d37c2dfc
fix: Simplify and fix revert-cell cmd
2022-01-25 14:00:07 -05:00
John Colvin
21300a858c
fix: Flip call/put wing start comparison operators
2022-01-25 12:33:51 -05:00
John Colvin
c97887993f
Make vs graph legend translucent
2022-01-24 19:55:34 -05:00
John Colvin
198311c7c4
feat: Add vis toggle for vs exp graph series parts
2022-01-24 19:55:34 -05:00
John Colvin
1db24a8b72
fix: Define c/p wing strike range w/ VolCurveDisplayGraph wing_start props
2022-01-24 19:49:20 -05:00
John Colvin
9ef492acdc
Update PlotModel.IsVisible in vm is_visible setter
2022-01-24 19:29:27 -05:00
John Colvin
f8a74bbcbd
fix: Copy settings.stroke_thickness to vm member
2022-01-24 19:29:27 -05:00
John Colvin
eade3d0ee3
fix: Use consistent window-type ids for saving/loading vs wins
...
Bugs (fixed):
The vol surface, and exp params windows aren't restored with workspace
2022-01-24 19:29:26 -05:00
John Colvin
c65c16f476
refactor: Init vs line series vms w/ LineSeriesSettings
...
Previously, was assigning props explicitly from the settings object
2022-01-24 14:43:40 -05:00
John Colvin
6fa7b3cb88
Add committed/candidate prefix to vs atm series title
2022-01-24 14:42:06 -05:00
Taha Afzal
e5a8209127
Options 'books' can optionally be built from quotes now
2022-01-24 14:13:35 -05:00
Taha Afzal
aa768fabc0
Caching volume on statistics_change and passing it over to handl.add_trade
2022-01-24 13:33:33 -05:00
John Colvin
0c94dbd32c
Update externals
2022-01-24 01:01:28 -05:00
John Colvin
89df1b5836
Increase padding in vs graph legend
...
This makes it easier to move the legend around (via drag)
2022-01-24 01:01:28 -05:00
John Colvin
c8d682c0b9
Fix analytics-exp-params window
...
Bugs (fixed):
* Exp params window crash on launch
* A few 'dirty' props don't notify view of changes
* Use AnalyticsExpirationParametersWindowFactory to create/restore win
* Rename AnalyticsExpirationParametersVM.StartupData ->
AnalayticsExpirationParametersSettings
* Simplify 'dirty' prop-changed notification logic
2022-01-24 00:58:37 -05:00
Taha Afzal
088c5bc0b9
Fixed the TS timestamp
2022-01-23 21:48:50 -05:00
John Colvin
6cbe93a9bb
Replace Any CPU w/ x64 in spark_client.sln
2022-01-23 16:15:11 -05:00
John Colvin
1d6e90a429
Fix typo in editorconfig
2022-01-23 16:15:11 -05:00
John Colvin
6fb842c619
Tether temp vs window (outside workspace) to dummy shell win
2022-01-23 16:15:11 -05:00
John Colvin
6d90b6079e
Implement vs grid settings command
2022-01-23 16:15:11 -05:00
John Colvin
084cbfcef6
Bind selection to immutablelist to get 1 instance/mutation
2022-01-23 16:15:11 -05:00
John Colvin
45a773fc69
Clean up DragDropDocumentPreview
...
* Make class internal
* Run formatter
2022-01-23 16:15:11 -05:00
John Colvin
3c147e7079
refactor: Clean up FloatingWindow
...
* Make internal
* Sort class members
* Fix naming violations
* Run formatter
2022-01-23 16:15:11 -05:00
John Colvin
1c4e574512
Add observe_immutable ext fn for ObservableCollection<T>
...
Converts sequence of CollectionChanged events to an
IObservable<ImmutableList<T>>
2022-01-23 16:15:11 -05:00
John Colvin
6901fe07d7
Add some mouse events to WPFTracer
2022-01-23 16:15:10 -05:00
John Colvin
d1bf278bf2
refactor: Overload string join ext fn with params string[]
2022-01-23 16:15:10 -05:00
John Colvin
0d0f670629
refactor: Remove unused template param from string join ext fn
2022-01-23 16:15:10 -05:00
John Colvin
7c85a226d9
refactor: Overload empty_if_null ext fn for generic List/Array (rebase note: Used in AxisVM)
2022-01-23 16:15:10 -05:00
John Colvin
b18ae91f37
Remove duplicate VolSurfaceRowView class
...
This was inadvertantly added, but didn't break the build because it was
in a different namespace (mbts.ui.shell) from the true VolSurfaceRowView
(mbts.ui)
2022-01-23 16:15:10 -05:00
John Colvin
025a5f49e3
diagnostics: Impl VolGridCellVM.ToString
2022-01-23 16:15:10 -05:00
John Colvin
146a136cd5
Remove magic const '-1' in drag/drop is_sufficient_delta fn
...
Not sure why this const was ever added in the first place, it appears to
arbitrarily prevent drag/drop ops from starting, when the mouse is at
coordinate (1,1)
2022-01-23 16:15:10 -05:00
John Colvin
8e8c532750
refactor: Use UIElement in drag/drop logic
...
As opposed to using FrameworkElement
2022-01-23 16:15:10 -05:00
John Colvin
5b973a2462
Add EnableDragMove dp (behavior) to PopupViewController
2022-01-23 16:15:10 -05:00
John Colvin
5bcd00d499
refactor: Clean up VolSurfaceSimplifiedGridVM
2022-01-23 16:15:10 -05:00
John Colvin
cf9591ae83
Init value for vs cell view DIYGrid.ColumnProperty
2022-01-23 16:15:10 -05:00
John Colvin
64a5c44726
Define view style/behavior in VolSurfaceCellView rather than in vs column
2022-01-23 16:15:10 -05:00
John Colvin
bbae90059e
Write vs candidate vals to grid model so it updates the graph
2022-01-23 16:15:10 -05:00
John Colvin
1d953c31eb
Use IValueConverter to fmt/parse cell vals in vs grid
2022-01-23 16:15:10 -05:00
John Colvin
49164aef3a
Remove HistoricVolSurfaceRowControl
...
The new VolSurfaceRowView seems solid enough to stand on its own
2022-01-23 16:15:10 -05:00
John Colvin
2cc8810830
Init x_axis.position in vs graph vm
2022-01-23 16:15:09 -05:00
John Colvin
f8813bda36
Fit axes to series on vs graph double click
2022-01-23 16:15:09 -05:00
John Colvin
98f3c5c433
Fix typo in launch-exp-params-view-cmd binding
2022-01-23 16:15:09 -05:00
John Colvin
65a6317527
Hook up context menu in vs grid
2022-01-23 16:15:02 -05:00
John Colvin
925c301cbe
refactor: Change MultiSelectDropDowns to ComboCheckBox in vs settings
2022-01-23 15:25:41 -05:00
John Colvin
b6ac345ee6
Port VolSurfaceGridSettingsEditor over from edge
2022-01-23 15:25:41 -05:00
John Colvin
b3bc3ca18d
Add TickUp/DownCommand dps to VolSurfaceCellView
2022-01-23 15:25:41 -05:00
John Colvin
568d9da42f
Add TickFactors member to vs columns
...
For formatting/parsing doubles by tick
2022-01-23 15:25:41 -05:00
John Colvin
37fef31ed6
Implement _to_string to format doubles for volsurfaces
2022-01-23 15:25:41 -05:00
John Colvin
4d1c0869f1
fix: Don't publish invalid VolSurfaceUsageListImmutable
2022-01-23 15:25:41 -05:00
John Colvin
3ed16ff186
Ensure some vs settings props are non-null in getter
2022-01-23 15:25:41 -05:00
John Colvin
8a30fdd4c5
cli (client): Add user/pw opts to automate login
2022-01-23 15:25:41 -05:00
John Colvin
a9b4881e7b
refactor: Clean up ShellBootstrapper.cs
2022-01-23 15:25:41 -05:00
John Colvin
f76e3968f8
refactor: Clean up App.xaml.cs
...
* Sort members
* Fix naming violations
* Remove unneccesary using directives
* Run formatter
2022-01-23 15:25:41 -05:00
John Colvin
eb777fd14f
Bind diygrid row hover fill to SelectionHighlight
2022-01-23 15:25:41 -05:00
John Colvin
fffae3b519
Show decimal part by default in tick format fn
2022-01-23 15:25:41 -05:00
John Colvin
2aaa729ae9
refactor: Make VolSurfaceView class internal
2022-01-23 15:25:40 -05:00
John Colvin
c2d6046a1f
refactor: Use PopupAdorner to display vs graph legend
2022-01-23 15:25:40 -05:00
John Colvin
7b4d5766ef
refactor: Use observable backings in cell vms
2022-01-23 15:25:40 -05:00
John Colvin
17978d2306
style: Use vs (not code) to format VolSurfaceView.xaml
2022-01-23 15:25:40 -05:00
John Colvin
aadbef2a99
Add IsDragAdornerEnabled prop to DIYGrid
2022-01-23 15:25:40 -05:00
John Colvin
53e9d90bf9
refactor: Use nifty extension fns in vs grid vm
2022-01-23 15:25:40 -05:00
John Colvin
9df339c4a7
refactor: Make vs 'visible_rows' strongly typed
...
The prior weakly typed collection was a vestige from edge. The view
property to which selected items was bound in edge was of type
ObservableCollection<object>
2022-01-23 15:25:40 -05:00
John Colvin
7c26572c0b
refactor: Clean up volsurface axis/series vms
2022-01-23 15:25:40 -05:00
John Colvin
67f26d4318
refactor: Make ComboCheckBox.SelectedItems type IList
2022-01-23 15:25:40 -05:00
John Colvin
cd3d1ab2f4
Add volsurface to MultiThreadedWindows conf
2022-01-23 15:25:40 -05:00
John Colvin
9314911cc8
build (client): Activate venv in msbuild target
...
Now buildspark.py can run outside of venv
2022-01-23 15:25:32 -05:00
John Colvin
67dc07c4f5
build (client): Add cli opts to build cpp and/or csharp
2022-01-23 15:25:06 -05:00
Taha Afzal
331e35cd42
Cleaning up
2022-01-23 15:24:47 -05:00
John Colvin
40890f9ad2
build: Upgrade client build to vs 17 2022
...
If vs 17 2022 isn't installed, buildspark.py should still work for vs 16 2019
2022-01-23 13:17:46 -05:00
John Colvin
cb7606edca
Fix x/y typo in GraphPointVM
2022-01-23 13:09:58 -05:00
John Colvin
abab98cea6
Add null check in _recompute_and_publish
2022-01-23 13:09:58 -05:00
John Colvin
d271e2a3ef
refactor: Use VolSurfaceWindowFactory to create win
2022-01-23 13:09:58 -05:00
John Colvin
579e2a7a93
refactor: Rename VolSurafceView2 -> VolSurfaceView
2022-01-23 13:09:58 -05:00
John Colvin
0ac028c546
refactor: Ensure VolSurfaceWindowSettings lists non-null
2022-01-23 13:09:58 -05:00
John Colvin
c6b374a934
refactor: Clean up VolSurfaceDisplayGrid
...
* Use new c# language features to make code prettier
* Run formatter
2022-01-23 13:09:58 -05:00
John Colvin
eeddde332e
fix aw2, diygrid, mview after cherry-picking mview popups
2022-01-23 13:09:58 -05:00
John Colvin
9b9926502c
fix flickering pnl hyperlink hover background
2022-01-23 13:09:58 -05:00
John Colvin
a0e772885c
fix flickering mview hyperlink hover background
2022-01-23 13:09:58 -05:00
John Colvin
a0384c6d33
PNLView - HyperlinkCell mouse hover animation
2022-01-23 13:09:58 -05:00
John Colvin
d18242e0f2
set HyperlinkCell 'HyperlinkClickMode' default to 'Anywhere'
2022-01-23 13:09:58 -05:00
John Colvin
2177451371
remove HyperlinkColumn props 'padding' and 'HyperlinkClickMode' (callers should set them through the ElementStyle prop)
2022-01-23 13:09:58 -05:00
John Colvin
5adb85582a
after opening, mview remembers subsequent security criteria changes in workspace
2022-01-23 13:09:58 -05:00
John Colvin
35a2074de4
mview synth fills popup only shows fills of synth root algos
2022-01-23 13:09:58 -05:00
John Colvin
de43f14552
mview mini ob only shows working orders
2022-01-23 13:09:57 -05:00
John Colvin
d675ae17da
mview mini orderbook only shows exchange orders for outrights, spreader orders for synths
2022-01-23 13:09:57 -05:00
John Colvin
0ae61d3e82
fix mview sorting (use new ColumnSortManager)
2022-01-23 13:09:57 -05:00
John Colvin
c6c7350dad
MarketViewVM - move local methods (in constructor) to bottom
2022-01-23 13:09:57 -05:00
John Colvin
75efd7a2d5
mview order ticket popup closes on send
2022-01-23 13:09:57 -05:00
John Colvin
aaebf3b4fb
mview toolbar menu items open regular windows instead of minis (for now)
2022-01-23 13:09:57 -05:00
John Colvin
76adc09b16
mview fills/orderbook toolbar menu items open the new popups
2022-01-23 13:09:57 -05:00
John Colvin
5b26252d25
DIYGridRowsPresenter initialization in Loaded callback is idempotent (Loaded event not always followed by Unloaded event)
2022-01-23 13:09:57 -05:00
John Colvin
db813a8191
mview popups use AutoHideScrollBar to prevent scrollbars from covering data
2022-01-23 13:09:57 -05:00
John Colvin
4e0740d7b4
mview 'Position' column shows day position (uses position service)
2022-01-23 13:09:57 -05:00
John Colvin
5c74814b95
SP-257 mview popups for working orders & day fills
2022-01-23 13:09:57 -05:00
John Colvin
504aadac16
spruce up hamburger menu
2022-01-23 13:09:56 -05:00
John Colvin
f12e8deeab
add 'Freeze' prop to BrushExtension
2022-01-23 13:09:56 -05:00
John Colvin
fa9ab9c033
DIYGridCellHoverAdorner
2022-01-23 13:09:56 -05:00
John Colvin
d5dd63d528
refactor DIYGrid.SelectionHighlight to be Color instead of Brush (also fixes drag rect adorner bug, where the color wouldn't respond to settings changes)
2022-01-23 13:09:56 -05:00
John Colvin
4d2b3d4a77
market view row 'inside working orders' comparison to bbo was backwards
2022-01-23 13:09:56 -05:00
John Colvin
5f2da9421b
MarketViewVM does not derive from SecurityMDGrid
2022-01-23 13:09:56 -05:00
John Colvin
dcea38d038
factor out pnl auxiliary popups for general use (mview)
2022-01-23 13:09:56 -05:00
John Colvin
f97538edf2
introduce WindowStyle.UnsafeWindow dp
2022-01-23 13:09:56 -05:00
John Colvin
dff3cd1424
refactor ChildBounds extensions to be for UIElement
2022-01-23 13:09:55 -05:00
John Colvin
62fb9bd74d
aw2: Make custom VolSurfaceCellView control for aw2
...
This control hosts input and output views for cells in the volsurface
grid (only one of which is visible at any time). The input view is
activated when the cell is focused
2022-01-23 13:09:55 -05:00
John Colvin
5ac5ecb55e
diag: Add WPFTracer class
2022-01-23 13:09:55 -05:00
John Colvin
e6d16b419b
Impl non-generic IEqualityComparer.GetHashCode
2022-01-23 13:09:55 -05:00
Taha Afzal
23fa1bd0bc
Removing SIM: from Deribit security desc
2022-01-23 11:07:07 -05:00
Taha Afzal
e7350b2528
Working around Deribit option md bugs
2022-01-23 00:13:22 -05:00
John Colvin
4e5bf8f3c1
Remove unneccessary dependecy store lookup
2022-01-22 12:46:52 -05:00
John Colvin
1b9ac61588
Add save-log script to backup log file
...
The current date and time is appended to the log file name
2022-01-22 12:46:52 -05:00
John Colvin
616818aa52
Make our FirstOrDefault ext behave like linq's without predicates
2022-01-22 12:46:52 -05:00
John Colvin
3481a36735
Clean up VolSurfaceDisplayGridExpiration
...
* Make readonly fields props
* Implement ToString
* Use auto_phase in GetHashCode
* Run formatter
2022-01-22 12:46:52 -05:00
taha afzal
ad530c242d
Adding options securities for Deribit
2022-01-21 14:45:34 -05:00
taha afzal
fef2b64933
Hooking trades, as well as reducing the log level to DIAG for most market data callbacks
2022-01-20 13:38:34 -05:00
taha afzal
fac10e0da7
tick interval set up correctly now for deribit securities
2022-01-19 23:09:31 -05:00
taha afzal
e7295ccf9a
Made the dumper method in ShmDumper public to allow access for Logging from other places:
2022-01-19 16:13:47 -05:00
taha afzal
d4be0e7ef6
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-01-19 15:44:53 -05:00
taha afzal
15beef99f9
Deribit market data (futures) integrated
2022-01-19 15:44:34 -05:00
John Colvin
3524ad56ee
fix build: Don't deconstruct result of add/remove op
...
Two of the deconstructed members were unreferenced variables
2022-01-12 11:24:17 -05:00
taha afzal
d7bfdf4397
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2022-01-11 20:01:03 -05:00
John Colvin
d1edb41b9d
build: Don't explicitly link emumba deps
...
The should all be in the emumba-deribit-connector-library_LIBRARIES var
2022-01-11 18:14:54 -05:00
John Colvin
ad5b32319c
build: Add deribit demo log level var to CMakeLists
2022-01-11 18:14:54 -05:00
John Colvin
d646b4b54f
refactor: Replace terse 'unused' attributes w/ macro
2022-01-11 18:14:54 -05:00
John Colvin
7e710870ec
Actually run the deribit connector
2022-01-11 18:14:54 -05:00
John Colvin
b902fc372f
Remove custom spdlogger from deribit demo
2022-01-11 18:14:54 -05:00
John Colvin
e9caab16ba
Update externals: add emumba-deribit-connector lib
2022-01-11 18:14:54 -05:00
John Colvin
3c8ece1eee
Update externals to include linux libssl 1.1.1m
2022-01-11 13:56:39 -05:00
John Colvin
7d1fe3098a
Add break statement to end of switch case
...
The code wasn't technically broken (yet), bc the switch case in question
was falling through to the empty default case.
2022-01-11 13:56:39 -05:00
John Colvin
a8f642ebd7
refactor: Add '_params' suffix to create_binance_subscription fn
2022-01-11 13:56:39 -05:00
John Colvin
cc85c658d9
refactor: Use UnorderedSetMap for ref counts
2022-01-11 13:56:39 -05:00
Taha Afzal
fbeb65b53b
Logs for strike vs vols
2022-01-11 12:57:40 -05:00
Taha Afzal
66e312c2b8
Cleanup + logs
2022-01-11 00:16:42 -05:00
Taha Afzal
b1300eb52a
2 tags were not naming their type names, and mapping to the same 'key'
2022-01-10 10:48:40 -05:00
Taha Afzal
4c34a532ce
More logs
2022-01-10 10:29:55 -05:00
Taha Afzal
4e3a02c31b
Request-Reply works
2022-01-10 00:00:40 -05:00
Taha Afzal
30fa5891e9
Adding torubleshooting logs
2022-01-09 17:21:01 -05:00
John Colvin
53b6c19565
refactor: Clean up DIYGrid a bit
...
* Don't define more than one variable in a single statement (this messes
with the c# omnisharp extension in vscode)
* Remove private keywords (in accordance with our coding style)
* Sort class members
2022-01-07 23:11:31 -05:00
John Colvin
cd19cbf0b4
Early cut of aw2 ui (most likely will have bugs)
...
Rough around the edges, but functional enough to be a useful diagnostic tool as
we iron out aw2
2022-01-07 23:11:31 -05:00
John Colvin
8958507385
refactor: Make UIAdapter classes internal
2022-01-07 23:06:54 -05:00
John Colvin
730174b6ff
Support multiple props w/ same name in detect_property_changes
...
It is possible for a type to have multiple properties with the same name
if that type is a reference type that inherits from a parent type, and hides
one of the parent types properties with the 'new' keyword
2022-01-07 22:33:33 -05:00
John Colvin
cee79afc23
Make VolSurfaceDisplayModel class internal
2022-01-07 22:33:33 -05:00
John Colvin
79c55793af
refactor: Clean up VolSurfaceOutput
...
* Implement generic ICloneable<VolSurfaceOutput>
* Run formatter
2022-01-07 22:33:33 -05:00
John Colvin
43d614dde2
Add generic ICloneable interface
...
For some reason this very basic utility isn't defined in dot net
2022-01-07 22:33:32 -05:00
John Colvin
fde11dc4a3
Remove unneccessary comment warning abt perf costs
2022-01-07 22:33:32 -05:00
John Colvin
36a84d28e2
refactor: Improve RemoveWhere ext fn impl
...
* Don't allocate list of items to remove
* Return the number of items removed
2022-01-07 22:33:32 -05:00
John Colvin
6f7e2ab201
refactor: Clean up VolSurfaceExtensions
...
* Run formatter
* Replace foreach loops w/ less verbose linq style extensions
2022-01-07 22:33:32 -05:00
John Colvin
fe7097771b
Derive SparkWindow from DisposableViewModelBase
2022-01-07 22:33:32 -05:00
John Colvin
5a81c223c1
Remove old 'PAndl' window
2022-01-07 22:33:32 -05:00
John Colvin
8a4e90e1be
refactor: Clean up BTSColor
...
* Rename argb props to be lower case
* Make some member fns static extensions
* Remove Serializable attribute
* Use a single uint prop (rather than 4 byte props) for protobuf
serialization
2022-01-07 22:33:32 -05:00
Taha Afzal
9d0cc5ef91
Adding include opitonal to fix the build
2022-01-07 15:42:18 -05:00
Taha Afzal
10bd10fbf1
Update externals (adds missing std dir to includes)
2022-01-07 14:27:26 -05:00
taha afzal
21aefed58f
Stats, Trades etc also itegrated
2022-01-04 21:57:56 -05:00
taha afzal
13133053f6
error and book updates hooked
2022-01-04 16:23:06 -05:00
John Colvin
b41f321723
style: Add comments to binance md classes
2022-01-04 13:43:17 -05:00
John Colvin
a90f6badfd
refactor: Clean up binance md classes
...
* Remove unneccessary includes in a few files
* Remove erroneous commented out fwd decls
* Remove unused class BinanceMarketDataSubscription
* Make a few public accessor fns private
2022-01-04 13:34:33 -05:00
taha afzal
92feb60ec5
EmMDListener security addition completed
2022-01-03 22:32:54 -05:00
taha afzal
8561944900
Adding the Emumba-Spark bridge
2022-01-03 11:30:41 -05:00
taha afzal
2ca7b3bf7a
Fixing build
2021-12-31 15:14:51 -05:00
taha afzal
032acffb03
Merge branch 'spark_crypto' of bitbucket.org:bluetradesys/spark into spark_crypto
2021-12-31 00:27:35 -05:00
taha afzal
8c7c7b6af5
Adding a commented out class to start integration of emumba-Deribit
2021-12-31 00:25:36 -05:00
John Colvin
3a6e55a5ea
fix build (gcc release): Ensure ValueWrappers are initialized
2021-12-30 14:02:30 -05:00
John Colvin
fb8ea23744
fix build (gcc debug): Return vec of unique_ptrs w/ move
2021-12-30 13:52:13 -05:00
John Colvin
1ce44e3bd9
Show config_path on parse error in deribit demo
2021-12-30 13:44:02 -05:00
John Colvin
d329b1c88d
Update DeribitDemoListener to use emumba-deribit-connector 2.0.0
2021-12-30 13:43:24 -05:00
John Colvin
13dbc0826d
refactor: Put DeribitDemoListener inside namespace
2021-12-30 13:40:34 -05:00
John Colvin
f34a41d19c
Fix synth book net change test
...
Net change doesn't depend on tick size anymore (not sure why it ever
did, but now the ui is in charge of such display behavior)
2021-12-29 22:30:17 -05:00
John Colvin
6198bc2a64
Update linux docker
2021-12-29 21:59:12 -05:00
John Colvin
1f40818dda
Update docker/linux
2021-12-29 16:05:54 -05:00
John Colvin
1df7b51be9
Remove unused 'apioptions' import from proto files
...
This removes a couple warnings in the client build
2021-12-29 13:38:22 -05:00
John Colvin
e45f186cd9
Add deribit to sec formating code
2021-12-29 13:18:49 -05:00
John Colvin
6874c8f6b9
style: Use dos line endings in QuickBusClientChannel.cs
2021-12-29 13:18:49 -05:00
Taha Afzal
b03979cf65
Fake Deribit securuties show up in the UI
2021-12-29 13:18:49 -05:00
Taha Afzal
d5d6605a41
Forgot the break in the case
2021-12-29 13:18:49 -05:00
Taha Afzal
139c0d2c51
Added DeribitExchangeData
2021-12-29 13:18:49 -05:00
Taha Afzal
25faf081fc
Added Deribit to Venues proto
2021-12-29 13:18:49 -05:00
Taha Afzal
cf1a5ada49
KeyValue pair add/update is being dealt properly now
2021-12-29 13:18:48 -05:00
Taha Afzal
7986bff968
Temporary test runner for analytics tests
2021-12-29 13:18:48 -05:00
Taha Afzal
6b305f0593
More logs added to SystemContractData
2021-12-29 13:18:48 -05:00
Taha Afzal
1de81e35f9
SystemContractData had a bug while hashing strikes
2021-12-29 13:18:48 -05:00
Taha Afzal
6714e47d4c
All providers are hooked up
2021-12-29 13:18:48 -05:00
Taha Afzal
23e8294502
Enabling SingleVolSurfaceTheoSource
2021-12-29 13:18:47 -05:00
Taha Afzal
27079865e2
Enabled SingleVolSurfaceRequestCalculator
2021-12-29 13:18:47 -05:00
Taha Afzal
2f8e9e9859
Enabling SingleVolSurfaceCommittedOutputRetriever
2021-12-29 13:18:47 -05:00
Taha Afzal
d3c4772d59
SingleVolSurfaceCommittedOutputRetriever enabled
2021-12-29 13:18:47 -05:00
Taha Afzal
e4c13622f0
SingleVolSurfaceNonVolDataSource cleaned up
2021-12-29 13:18:46 -05:00
Taha Afzal
a5ffdd5180
Cleaning up option driver publishing
2021-12-29 13:18:46 -05:00
John Colvin
f0d86b92fb
build: Add target opt to build cmd
2021-12-29 13:18:46 -05:00
John Colvin
b67d2a45d0
refactor: Rename ContractPickerModel -> ContractPickerVM
...
Renames class, and file, as well as variables and class members of type
ContractPickerVM
2021-12-29 13:18:46 -05:00
John Colvin
6d1bad8b8c
Clean up ContractPicker (model and view)
2021-12-29 13:18:45 -05:00
John Colvin
092f8fc371
Add queue_execute/flags params to defer_execution
...
This serves a common use case where the caller wants to invoke an action
once, at the end of a code block
2021-12-29 00:50:11 -05:00
John Colvin
15c2d416a8
refactor: Make security_type an ext fn (not member)
2021-12-29 00:50:11 -05:00
John Colvin
c68c4ea9c9
Add ext fns for ImmutableSortedSet
...
AddRange, RemoveRange, and SetItems
2021-12-29 00:50:11 -05:00
John Colvin
eacfd5c8fe
Add SetItems ext fn for IImmutableSet/ImmutableHashSet
2021-12-29 00:50:11 -05:00
John Colvin
65304e6003
style: Clean up ImmutableSetExtensions
2021-12-29 00:50:11 -05:00
John Colvin
1a51a2e7a7
Fix bug where 'add' button was disabled in ContractPicker
...
This bug was occurring after the user added a criteria clause, and then
[only] changed the strike selection
2021-12-29 00:50:11 -05:00
John Colvin
8ddfa65f5f
Make sec type list in ContractPicker constant
...
Don't filter security types based on selected exchange (consider them
orthogonal). This preserves the selected instrument type if you toggle
the selected exchange between one that lacks a particular instrument
type, and one that doesn't.
2021-12-29 00:50:11 -05:00
John Colvin
15ca25bf6d
Remove ISecurityBasedSettings and TickDisplayParameters
...
These classes weren't referenced anywhere
2021-12-29 00:50:11 -05:00
John Colvin
bc0689b529
refactor: Clean up GlbxSecurityFormatter
...
* Replace if blocks w/ switch statement
* Replace Substring calls w/ new c# range operator
2021-12-29 00:50:11 -05:00
John Colvin
43a5e27e8f
Add options to ContractPicker
2021-12-29 00:50:10 -05:00
John Colvin
486e4c7113
build: Fix PYTHONPATH in CompileProto3 build tgt
2021-12-29 00:50:10 -05:00
John Colvin
83773d1335
Add fmt_pretty ext fn to SecurityCriteriaClause
2021-12-29 00:50:10 -05:00
John Colvin
f0b8d3d44f
Initialize tick fields in fake md
2021-12-29 00:50:10 -05:00
John Colvin
26e1d6e939
Add all_flags, all_flags_except fns to EnumHelper
2021-12-29 00:50:10 -05:00
John Colvin
e6f5e437b7
Remove redundant security_in_criteria fn
...
Replace calls to ContractPickerModel.security_in_criteria with
SecurityCriteria.includes extension method, which should perform better.
Each clause represents an 'and' chain of smaller predicates, the fn
being replaced always evaluates all of the smaller predicates, while its
replacement only evaluates them as long as they return true.
2021-12-29 00:50:10 -05:00
John Colvin
22a3325d0c
Add strikes/callputs to SecurityCriteria
2021-12-29 00:50:10 -05:00
John Colvin
caa17b0073
Don't import apioptions in SparkProtos
...
The import is unused, and was causing a compilation warning as a result
2021-12-29 00:50:09 -05:00
John Colvin
e3128c11a2
build: Copy (rather than symlink) .build_proxy to build
...
The sole purpose of the buildspark_redirect script is to workaround a bug in
the vscode c# extension. Unfortunately some buggy behavior persists when these
dirs are symlinked.
2021-12-29 00:50:09 -05:00
John Colvin
f06c1a86ea
refactor: Clean up security extension/helper fns
...
* Define all security-related extension fns in SecurityExtensions
* Rename security extension/helper fns to be in snake_case
2021-12-29 00:50:09 -05:00
Taha Afzal
fbccc80c77
Changing file name
2021-12-21 14:44:20 -05:00
Taha Afzal
73183aa007
Added BBO to fake securities
2021-12-21 14:44:20 -05:00
Taha Afzal
0d49c4c0fe
Made the fake sec's consistent
2021-12-21 14:44:19 -05:00
Taha Afzal
9f2627869b
Publishing fake options md
2021-12-21 14:44:19 -05:00
Taha Afzal
13139e6943
MDConsumerHandle abstracted out to allow the client to inject Fake securities
2021-12-21 14:44:19 -05:00
Taha Afzal
08e9157f17
Added IMDConsumerHandle as an indirection to innjetc market data in the system
2021-12-21 14:44:19 -05:00
Taha Afzal
076302a6b0
Adding saving exp params to AnalyticsTester
2021-12-21 14:44:19 -05:00
Taha Afzal
4c4c748be6
VolSurfaces are updated now
2021-12-21 14:37:04 -05:00
Taha Afzal
76dfd02aa8
AnalyticsServiceServer.save_volsurface was not calling the response return function
2021-12-21 14:34:46 -05:00
Taha Afzal
452a3eb698
Adding test code to create vs's
2021-12-21 14:31:20 -05:00
Taha Afzal
adb88708fc
Timer event etc...
2021-12-21 14:31:20 -05:00
Taha Afzal
b399a1f9fb
VoLSurfaceBBManager streamlined
2021-12-21 14:31:20 -05:00
Taha Afzal
f2d000a91a
Added VolSurfaceDisplayModel
2021-12-21 14:31:20 -05:00
Taha Afzal
9f28ef19ef
ThreadedBB funciton name change
2021-12-21 14:31:20 -05:00
Taha Afzal
85c0e7780f
Writes to threaded bb are also temptalized
2021-12-21 14:31:19 -05:00
Taha Afzal
145cf2d975
All Bus subscribers are using the templatized subscriptions
2021-12-21 14:31:19 -05:00
Taha Afzal
9d8dba23b9
threaded bb interacts with bus now
2021-12-21 14:31:19 -05:00
Taha Afzal
5a2c5e4c9a
SingleVolSurfaceMarketImpliedVolSource
2021-12-21 14:31:19 -05:00
Taha Afzal
2480575e67
Straightened out (partially) some security misaallignments bw spark and aw2, added SingleOptionDriverPricePublisher
2021-12-21 14:31:19 -05:00
Taha Afzal
d9337e1086
New AnalyticsServer completely hooked up
2021-12-21 14:31:19 -05:00
Taha Afzal
4a0fe9a19b
Cleaning up VolSurfaceBlackboardManager
2021-12-21 14:31:19 -05:00
John Colvin
0c73900f57
build: Add --link-output-dir arg to buildspark.py
2021-12-21 11:50:54 -05:00
John Colvin
f66749ee25
buildspark.py exists with code 1 on exception
2021-12-21 11:50:54 -05:00
John Colvin
043a9ecb4a
Reword buildspark --output-dir help text
2021-12-21 11:50:54 -05:00
John Colvin
f240b562ff
Update linux docker
2021-12-21 11:32:01 -05:00
John Colvin
a91ce93d43
Update externals
2021-12-21 11:31:51 -05:00
John Colvin
7819c1175a
Upgrade compiler to clang-10
2021-12-11 15:50:50 -05:00
John Colvin
2ef66bc91f
Fix server build after upgrading externals
2021-12-11 15:20:41 -05:00
John Colvin
ea8bad4ece
dev/john: Fix typo in Dockerfile
2021-12-09 14:16:52 -06:00
John Colvin
9ef529ab6c
Upgrade docker
2021-12-09 11:53:49 -05:00
John Colvin
fdb848eecb
Remove unused import (apioptions.proto) from apicore.proto
2021-12-09 11:40:50 -05:00
John Colvin
beecbbeb61
Upgrade pip when creating python virtual environment
2021-12-09 11:40:50 -05:00
Taha Afzal
58aa01de1b
SingleVolSurfaceGateway completed
2021-12-09 11:40:50 -05:00
Taha Afzal
b8bcc4a5f4
AnalyticsExpirationParameters
2021-12-09 11:40:50 -05:00
Taha Afzal
1cc00a9577
Hooking VolSurfaceBlackboatdManager to AnalyticsService
2021-12-09 11:40:50 -05:00
Taha Afzal
5eb1db7dd7
Start of interfacing the UI to the AnalyticsService
2021-12-09 11:40:50 -05:00
Taha Afzal
c09b4e5ef4
Adding AnalyticsService to Run
2021-12-09 11:40:50 -05:00
Taha Afzal
d86d621d38
Comments and wrapping up
2021-12-09 11:40:50 -05:00
Taha Afzal
0ee03a0d30
Persistence layer for vols
2021-12-09 11:40:50 -05:00
Taha Afzal
533a5c8f4a
Filling up AnalyticsService
2021-12-09 11:40:50 -05:00
Taha Afzal
521e988b3a
Added AnalyticsServiceServer
2021-12-09 11:40:50 -05:00
Taha Afzal
8786b48f33
Added AnalyticsService.proto
2021-12-09 11:40:50 -05:00
Taha Afzal
3f2d90c0ac
Moving VoLSurfaceBlackboardManager
2021-12-09 11:40:50 -05:00
Taha Afzal
9b563e3dcb
TheoPoint added
2021-12-09 11:40:50 -05:00
Taha Afzal
a210e063f0
Migrating more code from edge
2021-12-09 11:40:50 -05:00
Taha Afzal
9055a6facb
More classes moved
2021-12-09 11:40:49 -05:00
Taha Afzal
8f3ee23f6c
SingleVolSurfaceOptionDriverSource added
2021-12-09 11:40:49 -05:00
Taha Afzal
29870ae7b0
More bus inhabitants added
2021-12-09 11:40:49 -05:00
Taha Afzal
7403155a88
Addedd SingleVolSurfaceTheoSource
2021-12-09 11:40:49 -05:00
Taha Afzal
4af73414cf
Hooked a few more sources
2021-12-09 11:40:49 -05:00
Taha Afzal
6110a70b32
Added ThreadedBB interface and one user (SingleVolSurfaceDataSource)
2021-12-09 11:40:49 -05:00
Taha Afzal
ed5e0a54cb
Re-org'ing some
2021-12-09 11:40:49 -05:00
Taha Afzal
082b6aa86d
Moved all UIAdapters from edge
2021-12-09 11:40:49 -05:00
Taha Afzal
18fb15dec4
Moving more AW2 ui code
2021-12-09 11:40:49 -05:00
Taha Afzal
bf6658a265
Moved AW2 tags over
2021-12-09 11:40:49 -05:00
Taha Afzal
02728ddc56
Added tests
2021-12-09 11:40:49 -05:00
Taha Afzal
31bb4c418e
Adding VoLSurface calulation code
2021-12-09 11:40:49 -05:00
John Colvin
c0e75c2de2
Update CMakeDeps, CMakeDeps_win
2021-12-09 11:40:48 -05:00
John Colvin
62bf1d069c
Fix build errors caused by big merge, externals upgrade
...
A lot of server-side changes were just merged as part of the Brandon
project (crypto). Many of those changes were in libspark (a lib on
which both the client and server depend), and upgrades to its external
dependencies. As a result, windows counterparts of several upgraded
external libs needed to be similarly upgraded (or added for the first
time). These libs include: boost, btree, catch, curl, fmt, nlohmann json,
openssl, range, rxcpp, websocketpp
This change also makes protobuf generation compatible with python3, and thus
eliminates the build's dependency on python2
2021-12-09 11:40:42 -05:00
John Colvin
9091d50690
Remove Quantity negation '-' operator
...
This operator was a mistake to begin with, bc Quantity is unsigned
2021-12-08 10:58:00 -05:00
John Colvin
0544e21c97
Remove unnecessary includes in FlatUnorderedMap.h
2021-12-08 10:58:00 -05:00
John Colvin
e9bb8201ed
Add pragma once to ConfigurationState.h
2021-12-08 10:58:00 -05:00
John Colvin
75f8963ecd
Merge remote-tracking branch 'origin/spark_crypto_base.server' into spark_crypto_base.client_server_merge
2021-12-07 18:33:18 -05:00
John Colvin
e769926429
Update externals
2021-12-07 17:52:47 -05:00
John Colvin
e09d4d24ba
build: Add option to build sdk (or not)
...
The sdk isn't needed right now, and it adds several seconds to the build
2021-12-07 17:52:47 -05:00
John Colvin
ed0924df02
fix build: Replace now-deprecated option in web build
...
Replace '-p' w/ '--mode production'
2021-12-07 17:52:47 -05:00
John Colvin
cd6fcacc4f
refactor: Clean up CryptoCommand
...
* Replace BinanceDemo w/ general purpose LiveLadderDemo
* Get rid of CryptoConfig.proto, as it inappropriately depended on
non-config protos
2021-12-07 17:52:42 -05:00
John Colvin
16bf52e193
refactor: Clean up MarketDataSubscription
...
* Define as class (not struct) to agree w/ fwd decls
* Make ctr inline since its defined in header
* Pass params to ctr by value (and std::move) rather than by const ref
(and copy)
2021-12-06 16:41:24 -05:00
John Colvin
df5aecd102
refactor: Replace refs to google/btree w/ Kronuz/btree
...
The former has been replaced with the latter in externals
2021-12-05 16:24:34 -05:00
John Colvin
75c0fee5bf
Merge remote-tracking branch 'origin/spark_crypto_base.server' into spark_crypto_base.client_server_merge
2021-11-22 19:57:53 -05:00
John Colvin
5c251f4126
build: Add cmd to workaround vscode c# extension bug
...
For some reason, the build fails when the output dir is referenced by the c#
extension in vscode. It produces errors saying various g.cs files (which are
generated for the spark csproj) could not be found. However, examining the
contents of the output directory after the build "fails" show that those files
exist, and are in the proper build subdirectory. Seems like a race.
2021-11-22 19:04:51 -05:00
John Colvin
ccff827008
Remove unused file spark_server.sln
2021-11-22 18:26:26 -05:00
John Colvin
160769ea60
Add ladder scrollable_tick_window_size to config
2021-11-22 18:22:39 -05:00
John Colvin
16ecaa91b0
style: Clean up LadderOrdersHost
2021-11-22 17:54:06 -05:00
John Colvin
2614f91353
fix: Make order badges appear in ladder
...
Their positions in the LadderOrderHost were not in sync with the new
lazy/virtual visible tick range in LadderGridHost
2021-11-22 17:42:33 -05:00
John Colvin
2a9a041a36
fix: Init size_calculator earlier in NeworderTicketVM ctr
...
Avoids null reference exception
2021-11-22 17:33:56 -05:00
John Colvin
c37ce8fab9
build (client, style): Fix typo in clean opt help text
2021-11-20 14:50:55 -05:00
John Colvin
3f38654652
refactor: Remove unused files TextBoxDialog.xaml(.cs)
2021-11-20 14:50:55 -05:00
John Colvin
d54c6fe710
externals: Update linux boost includes
2021-11-20 14:50:55 -05:00
John Colvin
1ac8ceebe1
build (client): Fwd args from buildspark.cmd to buildspark.py
2021-11-20 14:50:55 -05:00
John Colvin
8cc72e6c96
build (style): Add comment abt paths wrapped in quotes
2021-11-20 14:50:55 -05:00
John Colvin
90ecb3c016
build (client): Add toggle opt to run msbuild /t:restore
2021-11-20 14:50:23 -05:00
John Colvin
b3db213b1a
build (client): Remove pygit2 dependency
2021-11-20 14:48:32 -05:00
John Colvin
e389770e55
build (client): Don't choke on symlinked build dir
2021-11-20 14:48:32 -05:00
John Colvin
4d19101d01
build (client): Configure build with abs path to source dir
2021-11-20 14:48:32 -05:00
John Colvin
88d0f425d2
build (client): Add '--no' toggle to flag opts in buildspark.py
2021-11-20 14:48:32 -05:00
John Colvin
5a205304bb
build (client): Fix build for non-default out dirs
...
Was building libspark and Spark.csproj separately, using msbuild for the
former and dotnet build for the latter
2021-11-20 14:48:07 -05:00
John Colvin
723442227c
Update externals to include new websocketpp
2021-11-19 16:30:58 -05:00
John Colvin
d4c867a835
Resurrect webserver
...
The webserver code was commented out when boost was upgraded, as the
former dependend on websocketpp, which, at that time, depended on the
previous version of boost. Websocketpp has since been updated, so that
the dependency conflict no longer exists
2021-11-19 16:30:58 -05:00
John Colvin
fd271b992a
Remove ICE symbols from default conf
2021-11-19 16:30:58 -05:00
John Colvin
f880399c4c
Add unsubscribe fn to MarketDataGateway
...
Seems like this was accidentally omitted
2021-11-19 16:30:58 -05:00
John Colvin
b1d3acb9f7
fix typo: Change < to <= in WebsocketClient::start
2021-11-19 16:30:58 -05:00
John Colvin
68848a74a4
fix build: Correct typo in include path in spreader_tests
2021-11-19 16:30:58 -05:00
John Colvin
9b7ac8d6eb
refactor: Shorten field names in SecurityCommon
...
* security_id -> id
* security_group -> group
* security_desc -> desc
2021-11-19 16:30:58 -05:00
John Colvin
493262c99a
Update docker/linux
2021-11-19 16:30:58 -05:00
John Colvin
d9ff44cc93
docker (dev/john): Don't backup default .bashrc and .profile
2021-11-19 16:30:58 -05:00
John Colvin
5e3530faef
docker (dev/john): Don't build fish docs
...
This breaks the build for some reason (don't care enough to investigate)
2021-11-19 16:30:58 -05:00
John Colvin
c5ca47396b
docker (dev/john): Don't install apt fish or git-powerline
2021-11-19 16:30:58 -05:00
John Colvin
2c21d4ddad
docker (dev/john): Run apt w/ noninteractive frontend
2021-11-19 16:30:58 -05:00
John Colvin
8d5cae835f
docker (dev/john): Update apt before installing fish dep
2021-11-19 16:30:58 -05:00
John Colvin
84221fe0d8
cli: Add emumba deribit demo subcommand
2021-11-19 16:30:58 -05:00
John Colvin
644613749d
style (dev/john): Clean up Dockerfile
...
* Indent command chains
2021-11-19 16:30:58 -05:00
John Colvin
c2a783ce96
refactor: Use protos in new Security class
2021-11-19 16:30:58 -05:00
John Colvin
23d645473c
Update docker/linux to upgraded_18.04 branch
2021-11-19 16:30:58 -05:00
John Colvin
0f43de79e1
Update externals to use new json.hpp and node_modules
2021-11-19 16:30:58 -05:00
John Colvin
eb86db3ef6
build (web): Symlink new node_module dirs in setup_builds
2021-11-19 16:30:58 -05:00
John Colvin
263c0503dc
Don't link libiml (it's an artifact from spartan)
2021-11-19 16:30:58 -05:00
John Colvin
47cef95b11
build (web): Upgrade node packages
2021-11-19 16:30:58 -05:00
John Colvin
5a71cb4ac6
Add john's vscode files
2021-11-19 16:30:58 -05:00
John Colvin
0c3b3e9aa6
fix build: Comment out unused refs in websocketclient
2021-11-19 16:30:58 -05:00
John Colvin
09a5343daa
Fix fsharp indentation error in gen'd code
2021-11-19 16:30:58 -05:00
John Colvin
254dcff1f6
Try to fix the goddamn web build
...
These dependencies are way to fragile. It is a nightmare trying to
upgrade them.
2021-11-19 16:30:58 -05:00
John Colvin
2891e01de1
Add john's dev scripts (docker-related)
2021-11-19 16:30:58 -05:00
John Colvin
f42568bed4
docker (john): Get john's vim files in Dockerfile
2021-11-19 16:30:58 -05:00
John Colvin
a28f667df5
docker (john): Get john's bash config in Dockerfile
2021-11-19 16:30:58 -05:00
John Colvin
ff1d561f7b
docker (john): Change user to 'john'
2021-11-19 16:30:58 -05:00
John Colvin
94a91215fb
Upgrade dev/john Dockerfile to ubuntu 21.04
2021-11-19 16:30:58 -05:00
John Colvin
dccb50d269
fix build: Satisfy new compilers gcc10, clang12
2021-11-19 16:30:58 -05:00
John Colvin
6ca7d3904d
Make plugin.py use env python (not hardcoded path)
2021-11-19 16:30:58 -05:00
John Colvin
0f81af3095
cli: Add crypto subcommand
...
This runs a test/example app that subscribes to binance md and prints
depth to the console
2021-11-19 16:30:58 -05:00
John Colvin
1ae124f0b2
Add SecurityResolver w/ fn bones
2021-11-19 16:30:58 -05:00
John Colvin
e83c466bf2
Port over some handy tools from spartan
2021-11-19 16:30:58 -05:00
John Colvin
9a63cfa956
Add .tmp to gitignore
2021-11-19 16:30:58 -05:00
John Colvin
18250a98f7
Add fn to init WebsocketClientConfiguration w/ a url
2021-11-19 16:30:58 -05:00
John Colvin
d18547806e
Add output operators to websocket classes
2021-11-19 16:30:58 -05:00
John Colvin
03b475add1
fix build: Resolve struct/class fwd decl conflicts
2021-11-19 16:30:58 -05:00
John Colvin
b35c43b55c
refactor: Rename communication namespace to match path
2021-11-19 16:20:45 -05:00
John Colvin
48862f2b8d
refactor: Rename 'communication' dir 'io'
2021-11-19 16:20:45 -05:00
John Colvin
41714fe3f2
Stop tracking .vscode
2021-11-19 16:20:45 -05:00
John Colvin
f9db93e41a
Add simple HTTPClient
...
The binance depth stream must be bootstrapped with a depth snapshot,
which is retrieved via an HTTP GET request
2021-11-19 16:20:45 -05:00
John Colvin
6573985bea
Overload price comp fns to accept doubles
2021-11-19 16:20:41 -05:00
John Colvin
77dfe79d95
Add proto file settings to clang-format
2021-11-19 16:19:26 -05:00
John Colvin
1679dc61a1
Add bts_assert_msgf macro for templated assert msgs
2021-11-19 16:19:26 -05:00
John Colvin
07afba0b9e
Remove websocket bones
2021-11-19 16:19:26 -05:00
John Colvin
c018f86671
Add SecurityStore bones/basic impl
2021-11-19 16:19:26 -05:00
John Colvin
7eb8f0d685
Add protos for crypto
2021-11-19 16:19:26 -05:00
John Colvin
2e7bdbcac5
Add classes that mirror binance json structures
2021-11-19 16:19:26 -05:00
John Colvin
66f7474d62
style: Declare default copy ctrs for good taste
...
This will also satisfy more recent compilers, for when we finally
do upgrade the build
2021-11-19 16:19:26 -05:00
John Colvin
1ed3008c1c
refactor: Split OrderGateway classes into sep files
2021-11-19 16:19:26 -05:00
John Colvin
b3dbc041b5
refactor: Split md gateway classes into sep files
2021-11-19 16:19:26 -05:00
John Colvin
7bc5385783
Port Book type over from spartan
2021-11-19 16:19:23 -05:00
John Colvin
02513a8779
refactor: Make BookLevel fields non-const
...
Incremental diff streams would otherwise have to create entire new books
for each update (no copy assignment operator for elements which are stored in
an array)
2021-11-19 16:18:20 -05:00
John Colvin
27100e2e2d
Implement OptionSecurity (was empty class)
2021-11-19 16:18:20 -05:00
John Colvin
4860d0cb3d
refactor: Move classes out of MarketDataCommon.h into own files
2021-11-19 16:18:15 -05:00
John Colvin
a0ce1b361f
Add >=, <= operators to ValueWrapper
2021-11-19 15:42:35 -05:00
John Colvin
7ede27e90b
refactor: Clean up ValueWrapper
2021-11-19 15:42:33 -05:00
John Colvin
0cfb27feba
refactor (flatten): Move ExecutionGatewayFactory to own file
2021-10-25 13:27:12 -04:00
John Colvin
85c567ffc5
refactor (flatten): Move OrderServices to orderman dir
2021-10-25 13:27:12 -04:00
John Colvin
694309f80b
refactor (flatten): Move OrderBuilder to orderman dir
2021-10-25 13:27:12 -04:00
John Colvin
0a6a4c35fa
refactor (flatten): Move OrderServiceServer to orderman dir
2021-10-25 13:27:12 -04:00
John Colvin
923d9ee512
refactor (flatten): Move ChildOrder to orderman dir
2021-10-25 13:27:12 -04:00
John Colvin
f2671ea4ba
refactor: Remove unused file IOrderServices
2021-10-25 13:27:12 -04:00
John Colvin
0d3e27932a
refactor (flatten): Move OrderRouter to orderman dir
2021-10-25 13:27:12 -04:00
John Colvin
cc81fd3244
refactor (flatten): Move ilink3 dir to lib/orderman
2021-10-25 13:27:12 -04:00
John Colvin
014effef90
refactor: Move IExchangeGateways to gateways dir
2021-10-25 13:27:12 -04:00
John Colvin
903e59a814
refactor: Move order msg classes to own files
2021-10-25 13:27:12 -04:00
John Colvin
7e2b21602a
refactor: Move Governor defs to .cpp
2021-10-25 13:27:12 -04:00
John Colvin
aee394a792
refactor (flatten): Move Governor.h out of own dir
2021-10-25 13:27:12 -04:00
John Colvin
e5e20af1f7
style: Clean up OrderServices
...
* Move non-template definitions to .cpp
* Move template definitions to bottom of .h
2021-10-25 13:27:12 -04:00
John Colvin
2d09a1ce33
Add .clangd to gitignore
2021-10-25 13:27:12 -04:00
John Colvin
e0f9e0c48c
Add .cache to gitignore
2021-10-25 13:27:12 -04:00
John Colvin
f4f67d4289
Let the ui convert synth net change to n ticks
...
Whether or not to display a price in dollar or n ticks form is a display
setting, and furthermore the front end assumes all prices are in dollar
form
2021-10-25 13:27:12 -04:00
John Colvin
ce68617d86
refactor: Rename TestObserver -> TestAlgo
2021-10-25 13:27:12 -04:00
John Colvin
ba53334a7c
Introduce SyntheticBook class
...
* Price levels are computed lazily
* Once computed, a price level can be accessed in O(1)
* Unit tests piggy back on rigorous existing unit tests in
'synthetic_book_computation'
* Not integrated into the matcher, as that is non-trivial
work, and the March 2021 roll is fast approaching
2021-10-25 13:27:12 -04:00
John Colvin
91925f9ec6
style: Run clang format on a few files
2021-10-25 13:27:12 -04:00
John Colvin
6b9b8ac403
Add ++/-- operators to Quantity
2021-10-25 13:27:12 -04:00
John Colvin
01d9af0bb2
Remove Price::abs method's price param, since it's non-static
2021-10-25 13:27:12 -04:00
John Colvin
63549fd3e2
refactor: Break up BookStatRecorder
2021-10-25 13:27:12 -04:00
John Colvin
e3cd1e9fc3
refactor: Replace includes w/ fwd decls to speed up build
...
Also replace public templated function FifoMatcherContext::reset
with non-templated overloads, which call a private templated impl
2021-10-25 13:27:12 -04:00
John Colvin
d0ceed37b5
cli: Remove ValidateFifo cmd (obsolete)
2021-10-25 13:27:12 -04:00
taha afzal
849adc5d7c
Completed OrderGatewy inteface
2021-10-22 07:47:39 -04:00
Taha Afzal
317fc93c76
OrderGateway added for EMumba integration
2021-10-20 20:04:42 -04:00
Taha Afzal
3ff6c725a3
Hooked book
2021-10-18 13:51:01 -04:00
Taha Afzal
205953d928
Added more handler code to EmumbaMDListener 2
2021-10-15 19:32:46 -04:00
Taha Afzal
8a01969796
Added more handler code to EmumbaMDListener
2021-10-15 16:13:35 -04:00
Taha Afzal
38d94663cf
More flesh on the skeleton
2021-10-14 16:09:14 -04:00
Taha Afzal
c85ef44a1b
Added skeleton for EmumbaMDListener
2021-10-13 12:48:33 -05:00
Taha Afzal
648a30ecf8
Fixing clang build
2021-10-11 19:46:34 -04:00
Taha Afzal
fc7237c7b9
WebsocketClient working after and getting data from binance after adding the SSL handshake
2021-10-08 00:22:52 -04:00
Taha Afzal
936a3b624b
Added WebsocketSyncClientTests
2021-10-07 14:20:49 -04:00
Taha Afzal
fc4fa3893c
added comments to the websocket interface and structures
2021-10-04 17:34:30 -04:00
Taha Afzal
e34a2f5195
WebsocketClient - allows a user of this class to connect to a host url, and send and receive data asyncronously
2021-10-04 15:55:46 -04:00
Pedro Pinto
ce98e862c3
Upgraded boost
2021-10-03 14:39:36 -04:00
Taha Afzal
930357d11c
WebsocketClient
2021-09-27 11:52:57 -05:00
Taha Afzal
43c3584dd2
unified market data interface on which we will connect to crypto exchanges
2021-09-21 13:18:46 -05:00
John Colvin
c0def90173
refactor (flatten): Move ExecutionGatewayFactory to own file
2021-09-15 23:53:59 -04:00
John Colvin
0d918510fd
refactor (flatten): Move OrderServices to orderman dir
2021-09-15 23:53:59 -04:00
John Colvin
06141850fa
refactor (flatten): Move OrderBuilder to orderman dir
2021-09-15 23:53:58 -04:00
John Colvin
8eab9a3f15
refactor (flatten): Move OrderServiceServer to orderman dir
2021-09-15 23:53:58 -04:00
John Colvin
a7b7c45657
refactor (flatten): Move ChildOrder to orderman dir
2021-09-15 23:53:58 -04:00
John Colvin
15004f2762
refactor: Remove unused file IOrderServices
2021-09-15 23:53:58 -04:00
John Colvin
be8242c7ac
refactor (flatten): Move OrderRouter to orderman dir
2021-09-15 23:53:58 -04:00
John Colvin
601fd98508
refactor (flatten): Move ilink3 dir to lib/orderman
2021-09-15 23:53:58 -04:00
John Colvin
c8bf9b41e4
refactor: Move IExchangeGateways to gateways dir
2021-09-15 23:53:57 -04:00
John Colvin
8d73cef4b2
refactor: Move order msg classes to own files
2021-09-15 23:53:57 -04:00
John Colvin
6f4a0f7ce4
refactor: Move Governor defs to .cpp
2021-09-15 23:53:57 -04:00
John Colvin
a67056fbc9
refactor (flatten): Move Governor.h out of own dir
2021-09-15 23:53:57 -04:00
John Colvin
cc67c3ced1
style: Clean up OrderServices
...
* Move non-template definitions to .cpp
* Move template definitions to bottom of .h
2021-09-15 23:53:57 -04:00
John Colvin
edb2f1bac2
Fix server build (linux compiler doesn't like pragma push)
2021-09-15 23:53:57 -04:00
John Colvin
264ce8ddc4
Add .cache to gitignore
2021-09-15 23:53:57 -04:00
John Colvin
17642ca84b
build: Use dotnet build (instead of msbuild) for c# projects
...
Continue using msbuild for c++ (i.e., libspark)
2021-09-15 23:53:57 -04:00
John Colvin
f46d91a57e
build: Remove erroneous PropertyGroup
2021-09-15 23:53:57 -04:00
John Colvin
8d145c9075
build: Remove erroneous AvailableItemName tags
2021-09-15 23:53:57 -04:00
John Colvin
78403a0baf
style: Format msbuild project files
2021-09-15 23:53:57 -04:00
John Colvin
353b2fd7e0
build: Remove unused items in msbuild files
2021-09-15 23:53:57 -04:00
John Colvin
ec1e1fda92
Add recursive .vscode dirs to gitignore
2021-09-15 23:53:57 -04:00
John Colvin
da5331d8ca
Stop tracking .vscode files
2021-09-15 23:53:57 -04:00
John Colvin
939f44b48c
build: Refine build scripts so they work out of the box
...
* Automatically create python virtual envs
* Automatically actvate the vs dev prompt
Note: the python39 virtual env will remain active in the calling shell.
This behavior may be changed down the road.
2021-09-15 23:53:57 -04:00
John Colvin
5939df9345
Define naming conventions in editorconfig
2021-09-15 23:53:57 -04:00
John Colvin
c366b9f4c8
style: Fix name violations, etc. on LadderGridHost
2021-09-15 23:53:52 -04:00
Taha Afzal
d23baec6d9
comments and los
2021-09-10 09:13:59 -05:00
John Colvin
835e0f50ca
Run dotnet format on spark proj
2021-09-06 19:35:31 -04:00
John Colvin
ff4f338898
Add dotnet format tool
2021-09-06 19:35:30 -04:00
John Colvin
113871a150
Rename requirements.txt -> requirements27.txt
...
A requirements39.txt file was created (for a python 3.9 venv) after
requirements.txt, so the version specifier now seems appropriate.
2021-09-06 19:35:30 -04:00
John Colvin
c31b5cf2b4
Run omnisharp formatter on spark project
2021-09-06 19:35:24 -04:00
John Colvin
7d75a6c3a9
Make ladder panel prices hyperlinks to jump to price
2021-09-06 18:34:28 -04:00
John Colvin
3995351b54
Fix bug where session range hidden
2021-09-06 18:34:28 -04:00
John Colvin
795942d8a9
Add style.yapf (python formatting config)
2021-09-06 18:34:28 -04:00
John Colvin
f4be975fec
Add omnisharp.json (c# formatting config)
2021-09-06 18:34:28 -04:00
John Colvin
b7a0cc5c24
Add .venv dirs to .gitignore
2021-09-06 18:34:28 -04:00
John Colvin
8a666ae397
Add requirements39.txt for python 3.9 env
2021-09-06 18:34:28 -04:00
John Colvin
2cc8e519d8
Add cached branch build dirs to gitignore
2021-09-06 18:34:28 -04:00
John Colvin
48cd21aa46
build: Add option to cache branch builds
2021-09-06 18:34:27 -04:00
John Colvin
531fbb63be
build: Add buildspark.py (bc bat is a horrible language)
2021-09-06 18:27:32 -04:00
John Colvin
6f3945cced
Implement IObservable in SingleValuePump for convenience
2021-09-06 18:27:32 -04:00
John Colvin
9dc3c32769
Add bit_span param to auto_phase (hash fn)
...
Brought over from DJ_ICE bc it seems like a useful param for custom
hash impls (though there isn't an immediate need for it).
2021-09-06 18:27:32 -04:00
John Colvin
3f2f19f73c
fix: Load FairValueLine price type in settings dialog
2021-09-06 18:27:32 -04:00
John Colvin
9a013d783e
Add fair value lines for DJ
2021-09-06 18:27:32 -04:00
John Colvin
6ea217b674
fix: ContractPicker syncs selected sec/md w/ selected key
2021-09-06 18:27:32 -04:00
John Colvin
0356221066
ui (DJ): Avoid darkening price text in session range in ladder
...
Put the session range visual beneath the column backgrounds
(on the z axis), and make the background slightly translucent
while leaving the font color fully opaque. This effectively
darkens the former without changing the latter.
2021-09-06 18:27:32 -04:00
John Colvin
50a0ed3823
Set alpha bits to 'FF' in historic ladder settings colors
2021-09-06 18:27:32 -04:00
John Colvin
1686d41c0c
ui (dj): Reduce opacity of session range layer in ladder
2021-09-06 18:27:32 -04:00
John Colvin
65f2efa9a0
ui (dj): Make ladder look more like tt
...
These changes can be configured via LadderKnobs (defined in UI.proto)
2021-09-06 18:27:32 -04:00
John Colvin
84e9cf5261
fix: Correct visibility binding in ladder session high/low
...
The other price points visibility bindings were refactored
in a similar manner, for consistency's sake.
2021-09-06 18:27:32 -04:00
John Colvin
dd256409e9
feat (DJ): Right align bid, price, and ask column text in ladder
...
This is hardcoded (not configurable via settings).
2021-09-06 18:27:32 -04:00
John Colvin
1e68c047ea
feat (DJ): Give bid/ask cells with markets a lighter background in ladder
...
There is a small chance this will impact performance when
a large number of ladders (50+) are open. Therefore, this
behavior can be toggled on/off in config, via
LadderKnobs.lighten_market_background.
2021-09-06 18:27:31 -04:00
John Colvin
56340fcc60
refactor: Consolidate tick tests after tricky merge
...
The branches that were merged, DJ_ICE and
DJ_ICE_ladder_price_aggregation, both added new
tick tests. The former put them in a new file,
"TickTests.cs," while the latter added them
to "SecurityTests.cs." This commit places all
tick tests in "TickTests.cs."
2021-09-06 18:27:31 -04:00
John Colvin
af639286e1
Add tooltips to ladder left-panel price points
2021-09-06 18:27:31 -04:00
John Colvin
bf32b6262d
Tailor default ladder price point settings for DJ
2021-09-06 18:27:31 -04:00
John Colvin
f2dd283751
feat (DJ): Display settings for ladder left-panel price points
...
* Add background and font settings for all price points
* Indicate 'day change' sign with modal settings (positive,
zero, and negative) for background and font color
* Hide 'day change' leading zeros in tick part
* Don't show 'day change' zero integer part (e.g.,
'25' instead of '0.25')
2021-09-06 18:27:31 -04:00
John Colvin
c27cd8ca54
Make a few classes/structs public in spark_core
...
They are referenced in spark proj, so prob should have always been
public.
2021-09-06 18:27:31 -04:00
John Colvin
75c86f7b69
config toggle to show/hide ladder scrollbar for dj (defaults to hide)
2021-09-06 18:27:31 -04:00
John Colvin
2e1d65fa33
frozen price lines in ladder (for dj)
2021-09-06 18:27:31 -04:00
John Colvin
5cdd2629bf
Copy a few ext methods from DJ_ICE
2021-09-06 18:27:31 -04:00
John Colvin
026bf6fb07
fix ColumnBase.SortDirection binding to DIYGridColumnModel
2021-09-06 18:27:31 -04:00
John Colvin
9054049ebf
SelectionModel should only select the pending selection once (was reselecting it every time the items changed)
2021-09-06 18:27:31 -04:00
John Colvin
d7a044c894
remove unused 'actual_width' prop from DIYGridColumnModel
2021-09-06 18:27:31 -04:00
John Colvin
2da8895f3e
synchronize column model's GridColumnSettings with the column view
2021-09-06 18:27:31 -04:00
John Colvin
1e1a5897bc
TextCell available_size is updated in ArrangeOverride
2021-09-06 18:27:31 -04:00
John Colvin
d3a635b156
parameterize SecurityStore.join (don't mess with core logic/impl)
2021-09-06 18:27:31 -04:00
John Colvin
f08c8a51ad
made new SelectorVM (todo: replace refs to old one)
2021-09-06 18:27:31 -04:00
John Colvin
2f08e92a5e
add SimpleGridSettingsManagerVM (uses DIYGridColumnModels instead of the view type ColumnBase)
2021-09-06 18:27:30 -04:00
John Colvin
336b009f24
add DIYGridColumnModel, so the DIYGrid column paradigm is cleanear mvvm
2021-09-06 18:27:30 -04:00
John Colvin
e027454a36
add get/load_state methods to non-generic IDataGridColumnFilter
2021-09-06 18:27:30 -04:00
John Colvin
af968c2c58
add PropertyEqualityComparerAttribute (supports simple automatic equality impl)
2021-09-06 18:27:30 -04:00
John Colvin
25a954b13c
unify SecurityCriteria initialization with securities (use pretty_name if single sec)
2021-09-06 18:27:30 -04:00
John Colvin
a45d8761e5
remove with_reguard_to_price param from tick 'format' extension
2021-09-06 18:27:30 -04:00
John Colvin
e1d9ca6325
fix typo in ConvertUtils.update_value_type (was missing negation '!')
2021-09-06 18:27:30 -04:00
John Colvin
d3853ddbf8
fix tick unit tests, and reorganize security tests a bit
2021-09-06 18:27:30 -04:00
John Colvin
7efa62c994
add precision param (epsilon) to tickup/down methods
2021-09-06 18:27:29 -04:00
John Colvin
9284bf5b14
TickFactors are cached in a ThreadStatic dictionary rather than concurrent (no locks required)
2021-09-06 18:27:29 -04:00
John Colvin
88ebf9f86f
ticksize extension handles invalid tick props gracefully
2021-09-06 18:27:29 -04:00
John Colvin
85ab9d98de
remove unused parameter from TickTestHelper.full_ticks_from_zero
2021-09-06 18:27:29 -04:00
John Colvin
b8278bb310
fix ladder session low/high grid animation (was not using the ticks per row setting)
2021-09-06 18:27:29 -04:00
John Colvin
00ef27bf8c
LadderGridHost invalidates '_spec' on connect_vm (not just on settings updates)
2021-09-06 18:27:29 -04:00
John Colvin
d090a6d851
fix typo in LadderGridHost._spec getter (was accidentally returning the fallback value)
2021-09-06 18:27:29 -04:00
John Colvin
573b5e1c62
make tick unit tests more robust (test tick_up/down, use these methods to covalidate results)
2021-09-06 18:27:29 -04:00
John Colvin
f6b1cf7c3a
include Sim ContractSpecs in tick unit tests
2021-09-06 18:27:29 -04:00
John Colvin
08643c8af1
ladder settings dialog - fix 'when implied is > 0' label alignment
2021-09-06 18:27:29 -04:00
John Colvin
b2b8c083a6
added tick unit test (namely for 'full_ticks_from_zero' method)
2021-09-06 18:27:29 -04:00
John Colvin
fa882d5472
added 'full_ticks_from' method which accepts an origin price (instead of just an arbitrary 0)
2021-09-06 18:27:28 -04:00
John Colvin
8760481153
TickUtils.full_ticks_from_zero checks pricebreak
2021-09-06 18:27:28 -04:00
John Colvin
33338d2a0a
move LadderUtils methods to TickUtils (all were related to ticks)
2021-09-06 18:27:28 -04:00
John Colvin
5b85c20d32
move tick data\utils to spark_core
2021-09-06 18:27:28 -04:00
John Colvin
bbf8decd0a
add 'ticks per row' ladder setting
2021-09-06 18:27:28 -04:00
John Colvin
d5315054a2
add TickUp/DownCommand dependency props to TickUpDownUInt
2021-09-06 18:27:28 -04:00
John Colvin
6e7aa3fe9a
fix ladder autoscroll (works perfect now)
2021-09-06 18:27:28 -04:00
John Colvin
48b42bf41f
check pt
2021-09-06 18:27:28 -04:00
John Colvin
e2f7c2ef20
Update devcmd.cmd for vs 16 2019
2021-09-06 17:45:53 -04:00
John Colvin
27294822ef
Restore .vscode files in dev directory
2021-09-06 17:45:53 -04:00
John Colvin
f0250338eb
Don't track .vscode files in source control
2021-09-06 17:45:50 -04:00
John Colvin
7ee3ef4737
build: Init spark_build_python_path in Directory.Build.Props
2021-09-06 17:41:56 -04:00
John Colvin
03a1cf0395
Add .tmp to gitignore
2021-09-06 17:41:53 -04:00
John Colvin
5ad70b83d6
build: Add step to copy cpp libs to new client out dir
2021-09-06 17:40:58 -04:00
John Colvin
8eba500d1b
Avoid race conditions exposed by new OnDispatcher impl
2021-09-06 17:40:58 -04:00
John Colvin
0a3d361621
refactor code to use dotnet core 6
...
Most changes revolve around MEF, as the new version (5.0.0) lacks
feature parity with the previous version (3.1)
2021-09-06 17:40:58 -04:00
John Colvin
fd5f54d8c9
Implement 'OnDispatcher' for dotnet core 6
...
That extension method doesn't exist in this version
2021-09-06 17:40:58 -04:00
John Colvin
957daf5392
build: Upgrade client build to net5.0
2021-09-06 17:40:58 -04:00
John Colvin
c4953590bc
Remove spark_excel from spark_client.sln
2021-09-06 17:40:58 -04:00
John Colvin
578d6c8518
build: Update win compiler to Visual Studio 16 2019
2021-09-06 17:35:03 -04:00
John Colvin
54bcff0b8f
import compute_synthetic_book method from spartan
2021-09-06 17:32:34 -04:00
Pete Fisher
9f74e57a05
updating submodule to latest
2021-09-06 17:28:33 -04:00
John Colvin
a58298edb9
Update externals for vs 2019 compilation
2021-09-06 15:03:04 -04:00
John Colvin
c7e2905255
Disable align related warning in vs 2019 build
2021-09-06 15:03:04 -04:00
John Colvin
799126f06a
Update build scripts to use vs 2019 build tools
2021-09-06 15:03:04 -04:00
Taha Afzal
1d041357aa
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-04-08 22:59:17 -04:00
Pedro Pinto
d53bfb70ff
Added structured logging to SQLite.
2021-02-16 18:20:37 -05:00
Pedro Pinto
e4a9636583
Added spartan logging.
2021-02-16 16:06:59 -05:00
Taha
3c744e9678
Adding sec/spread (optional) parameter and better logs
2021-02-15 13:42:18 -06:00
Pedro Pinto
28cfa69a23
Added ringbuffer.
2021-02-14 10:26:29 -05:00
Pedro Pinto
e4c8437f1f
And yet some more.
2021-02-12 12:52:52 -05:00
Pedro Pinto
b5668d9534
Fixed the build some more.
2021-02-12 12:39:21 -05:00
Pedro Pinto
e756fece66
Fix build.
2021-02-12 12:34:49 -05:00
Pedro Pinto
80c2c58a5a
More refactoring
2021-02-12 09:17:28 -05:00
Pedro Pinto
047aa43880
The great flatening.
2021-02-12 09:03:20 -05:00
Pedro Pinto
e0d33e6099
Cleaner feed handler.
2021-02-11 17:52:40 -05:00
Pedro Pinto
f60a55815d
Cleaned up gateway.
2021-02-11 17:47:59 -05:00
Pedro Pinto
33bde966b7
Algo manager.
2021-02-11 17:10:30 -05:00
Pedro Pinto
77210f7c90
Cleaning up Error handling.
2021-02-11 16:58:21 -05:00
Pedro Pinto
058f32c941
IL3 cleanup.
2021-02-11 16:49:33 -05:00
Pedro Pinto
979f06e6d0
Fixed release build.
2021-02-11 14:58:20 -05:00
Pedro Pinto
595b77c3c6
More clean up.
2021-02-11 13:40:51 -05:00
Pedro Pinto
2788ea31ff
Moved to delegates.
2021-02-11 13:07:46 -05:00
Pedro Pinto
94d9601d23
Removed obsolete interfaces.
2021-02-10 14:41:24 -05:00
Pedro Pinto
51520e0e0a
Changed MD to use delegates.
2021-02-10 14:34:00 -05:00
Pedro Pinto
6bb8da9a36
Minor doc.
2021-02-10 08:52:18 -05:00
Pedro Pinto
cde3f7900f
Fixed broken build scripts.
2021-02-10 08:50:06 -05:00
Pedro Pinto
357d4625fa
Cleaned up delegate.
2021-02-10 08:49:18 -05:00
Pedro Pinto
51b37abae7
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-09 21:57:18 -05:00
Pedro Pinto
cca7ded152
More algo man.
2021-02-09 21:56:37 -05:00
Pedro Pinto
3d9aa58ac1
Added a FAF Delegate.
2021-02-09 21:55:58 -05:00
John Colvin
695d7e4f74
fix: Initialize '_args' member in md subcommands
2021-02-09 16:33:12 -06:00
John Colvin
7bec8a103b
build: Change build path to 'build/<compiler>/<build_type>'
2021-02-09 16:33:12 -06:00
John Colvin
3be4c57530
style: Format vscode json files
...
* Indent with 2 spaces
2021-02-09 12:18:23 -06:00
John Colvin
70d0ed54a4
fix: Apply ib qty change in OrderModification::apply
2021-02-09 12:11:15 -06:00
John Colvin
36ac807635
vscode: Tweak presentation of linux_build task
2021-02-09 12:11:15 -06:00
John Colvin
430a9b38ef
refactor: Make SecurityMatcher::book return const BookSide&
2021-02-09 12:11:15 -06:00
Pedro Pinto
e3574e9d23
mdp3 removal.
2021-02-09 07:47:01 -05:00
Pedro Pinto
6591ed7a3c
less mdp3.
2021-02-08 21:45:17 -05:00
Pedro Pinto
5f292ae46a
More mdp3 excising.
2021-02-08 20:30:24 -05:00
Pedro Pinto
bd9f5ff862
Removing mdp3.
2021-02-08 19:50:03 -05:00
Pedro Pinto
69614a158e
Towards removing mdp3::
2021-02-08 19:46:37 -05:00
Pedro Pinto
cf8ec8bbad
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-08 16:50:46 -05:00
Pedro Pinto
91c3d820fc
Towards an algo manager.
2021-02-08 16:50:40 -05:00
Taha
f435203794
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-08 14:57:20 -06:00
Taha
b4c013f4da
Logging mode, log shots in addition to logging all active polygon states
2021-02-08 14:54:21 -06:00
Pedro Pinto
37ecb69379
Towards an algo manager.
2021-02-08 15:19:17 -05:00
Pedro Pinto
d1643e9a09
More refactoring.
2021-02-08 15:13:37 -05:00
Pedro Pinto
0456d837d8
Continued to refactor feed handler.
2021-02-08 11:29:23 -05:00
Pedro Pinto
b493b17602
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-08 09:24:25 -05:00
Pedro Pinto
206386b263
Separated pure MD interface (IFeedObserver) from analysis obs.
2021-02-08 09:23:16 -05:00
Pedro Pinto
51d336405a
More refactoring.
2021-02-08 09:07:40 -05:00
taha
e068a3807a
Added logs for when file is not found
2021-02-07 00:05:32 -06:00
taha
f585f54016
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-06 22:54:31 -06:00
taha
cf3b87d3aa
Fixed the logs (and got rid of prev value, we were not using it and it was adding extra unneeded complexity)
2021-02-06 22:54:24 -06:00
Pedro Pinto
3164c0fd56
Refactor.
2021-02-05 21:58:44 -05:00
Pedro Pinto
bdfed43b01
Refactor.
2021-02-05 21:09:37 -05:00
Pedro Pinto
1e794aaa12
Refactored.
2021-02-05 20:30:16 -05:00
Pedro Pinto
1297b97b2d
Fixed build.
2021-02-05 20:06:18 -05:00
Pedro Pinto
ca80857607
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-05 18:41:02 -05:00
Pedro Pinto
417e331e8e
Cleaned up mdp3.
2021-02-05 18:37:12 -05:00
taha
8602da1753
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-05 00:25:21 -06:00
taha
0c9af3ffee
Added order key to 2 log messages
2021-02-05 00:25:15 -06:00
John Colvin
12ba2a2724
fix (cli): Add md->channels subcmd
2021-02-04 13:08:39 -06:00
Pedro Pinto
e892b8b3e5
Towards il3 new
2021-02-04 13:49:17 -05:00
John Colvin
8d91d597fe
fix: Repair 'sparkd run' cmd (so client/ui can connect)
...
This was broken in the cli11 revamp.
2021-02-03 23:59:54 -06:00
Pedro Pinto
b8f146364b
Windows continues to suck ass.
2021-02-03 16:17:28 -05:00
Pedro Pinto
3866f8709f
Fucking windows include order bullshit.
2021-02-03 16:17:14 -05:00
Pedro Pinto
0eeffd1984
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-03 14:54:24 -05:00
Pedro Pinto
b15973b00c
Adding market segment id.
2021-02-03 14:54:08 -05:00
Pedro Pinto
ddf65972c0
Trying to fix windows build.
2021-02-03 14:52:05 -05:00
Taha Afzal
c10bf44bfc
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-03 14:46:35 -05:00
Taha Afzal
4bf9be860b
comments added for sniper
2021-02-03 14:46:29 -05:00
Pedro Pinto
e0313958b3
Merged
2021-02-03 11:15:57 -05:00
Pedro Pinto
cda4c522fd
Some refactoring in il3 store.
2021-02-03 11:12:44 -05:00
Taha Afzal
38bd2ac74c
Removing sim switch for security names
2021-02-02 20:31:42 -06:00
Pedro Pinto
36da47f66e
MDP3 refactoring.
2021-02-02 14:11:04 -05:00
Taha Afzal
805efc912e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-02 13:37:59 -05:00
Taha Afzal
3642dbcd86
more guard rails
2021-02-02 13:37:37 -05:00
Pedro Pinto
d3cfe1f6e1
Refactor.
2021-02-02 09:43:09 -05:00
John Colvin
88acbdd8b9
refactor: Replace std::maps with boost flat_maps in Trace
2021-02-01 23:44:21 -06:00
John Colvin
214f2667f2
vscode: Reference clang symbols/include paths in c_cpp_properties
2021-02-01 23:44:21 -06:00
John Colvin
7b16cc9d7b
fix: Clear used_order_keys in Matcher::clear
2021-02-01 23:44:21 -06:00
John Colvin
9035ed453f
vscode: Add spartan dir to include/browse paths
2021-02-01 23:44:21 -06:00
John Colvin
b0affc8611
Add BookLevel != operator
...
Define both == and != operators in BookLevel.cc
2021-02-01 23:44:21 -06:00
John Colvin
09fb35c80b
refactor: Move Quantity method/op defs to Quantity.cc
...
Also restyle code in a manner similar to that of the Price operator
code (it's a little cleaner, and brings about consistency).
2021-02-01 23:44:21 -06:00
John Colvin
6badc8099f
refactor: Make ValueWrapper constructors constexpr
2021-02-01 23:44:21 -06:00
John Colvin
8520add970
Replace includes with fwd declarations in FifoMatcherContext
2021-02-01 23:44:21 -06:00
John Colvin
058b4d0020
refactor: Move MatcherOrder struct into its own file
2021-02-01 23:44:21 -06:00
John Colvin
68db9e1254
refactor: Make FifoMatcherContext a class instead of struct
2021-02-01 23:44:21 -06:00
John Colvin
0cddda43f2
Replace includes with fwd declarations in FifoMergedSecurityMatcher
2021-02-01 23:44:21 -06:00
John Colvin
077ce786cb
refactor: Rename 'fill_depot' files 'FillDepot'
2021-02-01 23:44:21 -06:00
John Colvin
46de6b8d8b
Optimize FifoMergedSecurityMatcher logging
...
* Reduce string copying by using fmt::format
* Shorten log header prefix (messages that fit on one line are easier to
read)
2021-02-01 23:44:21 -06:00
John Colvin
1aea4beffe
refactor: Matcher conveys updates with OrderModification struct
...
The OrderModification explicitly indicates which order properties have
changed, so the FifoSecurityMatcher does not need to infer this
information from arbitrary signals in the OrderUpdate.
2021-02-01 23:44:21 -06:00
John Colvin
38a5341d08
fix: Don't automatically reset show qty on passive updates
2021-02-01 23:44:21 -06:00
John Colvin
17752dcce1
refactor: FifoImpliedSecurityMatcher uses new LegDefinition type
2021-02-01 23:44:21 -06:00
John Colvin
1aedac39fd
fix: FifoSecurityMatcher::book_side only includes visible qty
2021-02-01 23:44:21 -06:00
John Colvin
1cfb7ee6a4
refactor: Re-implement implied market logic in 'ImpliedMarketModel'
2021-02-01 23:44:21 -06:00
John Colvin
290b5d9da2
refactor: Clean up FifoImpliedSecurityMatcher
...
* Remove dependency on symbol (was only there to make logs prettier, but
sec id alone provides sufficient information)
* Remove several includes from the header to reduce compilation overhead
2021-02-01 23:44:21 -06:00
John Colvin
b66241b006
Remove unused method in FifoMergedSecurityMatcher
2021-02-01 23:44:21 -06:00
John Colvin
cf615efcd0
refactor: Move LegDef into its own file
...
The struct is renamed 'LegDefinition' to use a naming scheme consistent
with 'SecurityDefinition.' However, an alias for 'LegDef' is
declared for convenience, and to avoid replacing 'LegDef' with
'LegDefinition' in existing references.
2021-02-01 23:44:21 -06:00
John Colvin
c57b832305
fix: Only flip implied_candidates_dirty when they've actually changed
2021-02-01 23:44:21 -06:00
John Colvin
e5c3ae1f9f
Add permutation 'of length' method, and permutation unit tests
2021-02-01 23:44:21 -06:00
John Colvin
e9232e3bae
Add math utils 'factorial' and 'choose'
2021-02-01 23:44:21 -06:00
John Colvin
f4bb9544d4
fix: Fill same-priced passive icebergs evenly
...
When an agressor order crosses multiple [direct/implied] passive markets
at the same price, the aggressor is filled against the visible quantity
in each passive market, before passive icebergs (if any) are reloaded.
This simple iterative step is repeated until the aggressor is filled, or
no longer crosses the market.
2021-02-01 23:44:21 -06:00
John Colvin
28aaf22ea8
refactor: Change Matcher structs to be classes instead
2021-02-01 23:44:20 -06:00
John Colvin
de49920af7
fix: Don't change show qty when order is filled (matcher)
2021-02-01 23:44:20 -06:00
John Colvin
e05c01fc77
Clean up set_total_qty method
...
* remove unused vars
* replace if/else with ternary operator
2021-02-01 23:44:20 -06:00
John Colvin
9f6dc5da11
Pipe event id through the matcher for better tracing
2021-02-01 23:44:20 -06:00
John Colvin
84c9eb87e6
refactor: Replace size_ts with EventID alias
2021-02-01 23:44:20 -06:00
John Colvin
9f290b550b
Pass effects vector to FifoSecurityMatcher calls
2021-02-01 23:44:20 -06:00
John Colvin
6e4950ec1c
clang-format: PenaltyReturnTypeOnItsOwnLine
...
Discourage clang from putting the return type on its own line.
2021-02-01 23:44:20 -06:00
John Colvin
c727389f53
refactor: Replace map with unordered_map in Matcher
2021-02-01 23:44:20 -06:00
John Colvin
20e8ac2910
fix: FifoMergedSecurityMatcher handling of icebergs
...
The iceberg quantity is expected to be null in all updates (i.e., only
non-null when the order is added). Once added, the iceberg quantity is
redundant, as show qty changes are interpretted through visible qty
changes (the qty actually visible in the book), and the total qty is
immutable.
This patch fixes a bug where the iceberg quantity was not being assigned
back to an updated order before it was passed to the 'fill' method,
which in turn, misled the matcher to think the order was completed when
its visible qty alone was filled.
2021-02-01 23:44:20 -06:00
John Colvin
7e59145102
add TestObserver (IAlgoModel)
...
This is an empty implementation of IAlgoModel, so new algo ideas may be
tested without the overhead of creating new classes/files.
2021-02-01 23:44:20 -06:00
John Colvin
5e01a37b6e
feat (cli): Add cmd to record matcher event proc times
2021-02-01 23:44:20 -06:00
John Colvin
95d2363435
feat (cli): Add cmd to record matcher fills
...
This works in a similar fasion to the cmd that records matcher books.
Both generate a csv file designed to be imported into a sqlite database,
so the matcher's output may be joined/compared with actual data from the
exchange.
2021-02-01 23:44:20 -06:00
John Colvin
82332bf92f
refactor: Replace SimBooks cmd with Matcher->BooksCmd
...
This is in anticipation of adding a similar subcommand to record fills,
and proc times. Basic functionality expected to be shared by these
three commands is abstracted out of the former SimBooks command into
common classes.
2021-02-01 23:44:20 -06:00
John Colvin
042c451bd6
refactor: Move classes from sim_common.h into their own files
...
* Move MatchEffect into 'back_testing/common/MatchEffect.h'
* Move MBPUpdate into 'back_testing/common/MBPUpdate.h/cc'
* Move OrderUpdate into 'back_testing/common/OrderUpdate.h/cc'
2021-02-01 23:44:20 -06:00
John Colvin
3e66c3e5db
refactor: Move Fill into domain/fill
2021-02-01 23:44:20 -06:00
John Colvin
a6f3852846
refactor: Improve Stopwatch impl
2021-02-01 23:41:23 -06:00
John Colvin
1f622b0c1e
Optimize logging in IcebergFileCache
...
* Replace std::cout call with 'Info' log
* Use const char * templates to reduce string copying
2021-02-01 23:41:23 -06:00
John Colvin
48aaf9de6c
refactor: Move iceberg_file_cache to matcher/common/IcebergFileCache
...
Also change static 'iceberg_file_cache' namespace methods to static
'IcebergFileCache' class methods
2021-02-01 23:41:23 -06:00
John Colvin
8b5e86c1ba
refactor: Make Iceberg related structs classes instead
...
* IcebergInput
* IcebergInputBuilder
* IcebergFinder
2021-02-01 23:41:23 -06:00
John Colvin
2a975c95b2
Account for nan in Price::to_double
2021-02-01 23:41:23 -06:00
John Colvin
b89555a2e2
Account for nan in price comparison methods
2021-02-01 23:41:23 -06:00
John Colvin
166ab7d299
refactor: Make ValueWrapper binary ops constexpr
2021-02-01 23:41:23 -06:00
John Colvin
d2bf8f1b53
Add security_groups field to SecurityCriteria
2021-02-01 23:41:23 -06:00
John Colvin
e363840937
refactor: Rename SecurityCriteriaClause -> SecurityCriteria::Clause
2021-02-01 23:41:23 -06:00
John Colvin
d8fb275b20
fix: PCapOrderChangeBootstrapper
...
Bootstrap observers with resting orders on the first event in which the
security's status transitions to 'ReadyToTrade.' This simplifies the
previous implementation, which did not bootstrap observers until the
security's second consecutive event with 'ReadyToTrade' status.
2021-02-01 23:41:23 -06:00
John Colvin
13719170c9
refactor: Move OrderKey.h into domain/order
2021-02-01 23:41:23 -06:00
John Colvin
2c4db5bf02
refactor: Move Order types into domain/order
2021-02-01 23:41:23 -06:00
John Colvin
7e957527ac
Add Price::nan method
2021-02-01 23:07:01 -06:00
John Colvin
b94a1d943f
refactor: Clean up Price
...
* Move impl from Price.h to Price.cc
* Make ctrs, methods, ops constexpr (where possible)
* Overload all binary ops to accept Price, or int64 param
2021-02-01 23:07:01 -06:00
John Colvin
3efb4da14b
diag: Add Trace parameter to matcher constructor
...
This makes it easy for matcher-validation commands to bind trace
parameters, such as order/event ids, to cli options.
2021-02-01 22:56:21 -06:00
John Colvin
9c53f4b949
refactor: Move Trace into its own file
2021-02-01 22:56:21 -06:00
John Colvin
35d395fc35
refactor: Hide private matcher members behind PImpl
2021-02-01 22:56:21 -06:00
John Colvin
cf19a63aac
Delete superfluous move constructor/operator in Matcher
2021-02-01 22:56:21 -06:00
John Colvin
6456060a6c
refactor: Define AlgoEventID struct, and EventID alias
...
A few advantages the struct offers (over an alias for a pair of size_ts):
* A custom output operator
* Eliminates potential conflict with pairs of size_ts that don't
represent an algo id
* The ability to (eventually) choose precise member names for both
components of the event, rather than 'first' and 'second'
2021-02-01 22:56:21 -06:00
John Colvin
702547a88b
refactor: Revamp 'md' command with CLI11 App
...
The files 'run_md.h/cpp' are removed, as their functionality is
distributed among the subcommands: md, run, and web.
2021-02-01 22:56:21 -06:00
John Colvin
2447da3c08
refactor: Rename 'map_utils.h' -> 'MapUtils.h/cc'
...
Also refactor the relevant namespace 'bts::utils' methods to be static
methods in the newly created class 'MapUtils.' This is part of the
effort to favor static class methods over namespaced functions.
2021-02-01 22:56:21 -06:00
John Colvin
8df420c37c
refactor: Rename 'table_display.h' -> 'TableDisplay.h/cc'
...
Also refactor the namespace 'table_display' methods to be static methods
in the newly created class 'TableDisplay.' This is part of the effort
to favor static class methods over namespaced functions.
2021-02-01 22:56:21 -06:00
John Colvin
d18a345b5b
refactor: Rename 'permutation.h' -> 'Permutation.h/cc'
...
Also refactor the namespace 'all_permutations' methods to be static
methods in the newly created class 'Permutation.' This is part of
the effort to favor static class methods over namespaced functions.
2021-02-01 22:56:21 -06:00
John Colvin
1770274dd0
refactor: Rename 'action_summarizer' -> 'ActionSummarizer'
2021-02-01 22:56:21 -06:00
John Colvin
746dd506f8
refactor: Rename 'file_stream_utils.h' -> 'FileUtils.h/cc'
...
Also refactor the namespace 'file_stream_utils' methods to be static
methods in the newly created class 'FileUtils'. This is part of
the effort to favor static class methods over namespaced functions.
2021-02-01 22:56:21 -06:00
John Colvin
78be0004af
refactor: Rename 'reverse_comp.h' -> 'ReverseComp.h'
2021-02-01 22:56:21 -06:00
John Colvin
333a378230
refactor: Rename 'string_splitter.h' -> 'StringUtils.h/cpp'
...
Also refactor the namespace 'string_splitter' methods to be static
methods in the newly created class 'StringUtils'. This is part of
the effort to favor static class methods over namespaced functions.
2021-02-01 22:56:21 -06:00
John Colvin
5e8f776334
refactor: Rename dir 'spartan/util' -> 'spartan/utils'
2021-02-01 22:56:21 -06:00
Pedro Pinto
5470a82b94
Real time ilink3 handler code complete.
2021-02-01 20:28:44 -05:00
Pedro Pinto
7959c96bcd
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-02-01 13:57:37 -05:00
Pedro Pinto
aeb4bec02d
Refactored sim types to have a sim prefix.
2021-02-01 13:57:16 -05:00
Taha Afzal
b92df15594
Reducing logging
2021-01-30 23:37:29 -06:00
Taha Afzal
86089ec3b4
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-30 20:04:14 -05:00
Pedro Pinto
2cffaa9d73
Refactored include path for spartan.
2021-01-30 15:11:46 -05:00
Taha Afzal
94da28c5cc
Better log messages
2021-01-29 22:41:58 -05:00
Pedro Pinto
86b7f30e0e
Towards realtime il3 handler.
2021-01-29 15:22:32 -05:00
Taha Afzal
e5b01ad92f
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-29 11:28:41 -05:00
Taha Afzal
9d381c2848
Sniper code complete
2021-01-29 11:28:35 -05:00
Pedro Pinto
f81c0280e4
Initial cert tests pass.
2021-01-28 22:35:16 -05:00
Pedro Pinto
b13ffff044
Tests work for il3 connection setup.
2021-01-27 20:56:37 -05:00
Pedro Pinto
d068ac40ec
Am able to set party details.
2021-01-27 14:27:23 -05:00
Pedro Pinto
db5e428709
Starting to test il3.
2021-01-25 16:42:32 -05:00
Pedro Pinto
77396111aa
Can build.
2021-01-25 12:57:22 -05:00
Taha Afzal
7af05e3f4a
Cleaned up, tested a fair bit, few (safety related) features to come
2021-01-24 21:56:34 -05:00
Pedro Pinto
8665ad24c1
Refactored.
2021-01-22 14:59:35 -05:00
Pedro Pinto
72e6e11238
Towards il3 gateway.
2021-01-20 16:49:07 -05:00
Taha Afzal
3468201f32
Moving sniper data and initialization to SniperAlgoCommon
2021-01-18 20:43:31 -05:00
Pedro Pinto
fb7496aaf2
Added commission model to sim.
2021-01-18 15:21:03 -05:00
Pedro Pinto
9193653773
Added new spartan 'test' subcommand.
2021-01-18 15:20:47 -05:00
Pedro Pinto
a80641f8f4
Added testing note to docs.
2021-01-16 16:04:27 -05:00
Pedro Pinto
eb7f1ba9ee
Disabled IB cross test.
2021-01-16 12:38:19 -05:00
Pedro Pinto
39820205ce
Market matcher tests as part of spartan.
2021-01-16 12:33:38 -05:00
Pedro Pinto
2cffcb4e25
Merged
2021-01-16 12:32:34 -05:00
Pedro Pinto
2d2c664ce9
More il3 gateway work.
2021-01-16 11:53:04 -05:00
John Colvin
ca4e477f56
fix: CLI11 integration
...
* Run 'sparkd tests' outside of the CLI::App framework
(delegate to 'catch', which has a solid cli). This
fixes a bug which prevented callers from specifying
test tags (in the form of '[<tag>]'), as the CLI::App's
parse method removes square brackets from cli options.
* Bind cli options to instance members of their subcommand's
CLI::App derived class. This seems to fix a bug which caused
the [static instance] binding source to be destructed twice.
* Add help text for several subcommands
2021-01-16 00:01:15 -06:00
Pedro Pinto
3ec36c4db1
Refactoring IReactorConnection and friends.
2021-01-15 09:41:11 -05:00
Pedro Pinto
d593696df2
Tagged spartan tests.
2021-01-15 08:49:28 -05:00
John Colvin
45de55a552
Remove unused files 'args_parser.h/cpp'
2021-01-15 00:32:55 -06:00
John Colvin
17d20bac8b
Remove unused file 'ImpliedFifoSecurityMatcher.h'
...
This was an old version of the implied fifo matcher,
now defined in 'FifoImpliedSecurityMatcher.h'.
2021-01-15 00:32:55 -06:00
John Colvin
f42137d86c
Don't assert that an iceberg order's vis qty <= show qty
...
There isn't a compelling reason to enforce this
constraint. The show qty is the 'reload' qty, and
is orthogonal to the current [visible] qty.
2021-01-15 00:32:55 -06:00
John Colvin
456177af30
typo: Flip ternary op clauses, and delete superfluous 'return'
2021-01-15 00:32:55 -06:00
John Colvin
41374d62ea
spartan cli: Add SimBooks command
...
This command is a diagnostic tool that produces a
csv file of matcher-generated books for a
particular pcap, which can then be imported to
sql, and joined with the actual books table for
comparison.
2021-01-15 00:32:55 -06:00
John Colvin
25395fcac3
refactor: Replace api::Side w/ spartan::Side
2021-01-15 00:32:55 -06:00
John Colvin
9b49c66136
fix: Require valid side param in 'has_min_qty' method
...
Although the side can be inferred by comparing the
first two price levels, the book may not have two
price levels to compare.
2021-01-15 00:32:55 -06:00
John Colvin
36bfc9e770
Add SecurityCriteria struct to filter instrument sets
...
Inspired by the c# 'SecurityCriteria' class from
spark's front end. This may come in handy as a cli
option for spartan subcommands, among other things.
2021-01-15 00:32:55 -06:00
John Colvin
2a04341b3b
Allow for non-null, or non-empty effects vector in 'match' method
2021-01-15 00:07:02 -06:00
John Colvin
c0a7f1b3fe
refactor: Use c++ 'char_traits::length' instead of c 'strlen'
2021-01-15 00:07:02 -06:00
John Colvin
66e1b94d1b
refactor: Revamp cli with CLI11 App
2021-01-15 00:07:02 -06:00
John Colvin
25e07d0a60
refactor: Move BookStatRecorder into 'feed_observers' dir
2021-01-14 21:25:14 -06:00
Pedro Pinto
2731f2b287
Fixed weird duplicate symbol issue.
2021-01-14 13:53:31 -05:00
Pedro Pinto
5140cb1c2c
Towards an order gateway.
2021-01-14 13:09:39 -05:00
Pedro Pinto
e11566537c
More refactoring.
2021-01-13 14:50:29 -05:00
Pedro Pinto
b884dc910e
Refactor MDP3 feed handler types.
2021-01-13 14:48:13 -05:00
Pedro Pinto
35cefe3b89
Added IL3 Parser.
2021-01-13 12:04:34 -05:00
Pedro Pinto
96af106a9d
Refactored MDP3Parser
2021-01-13 11:16:23 -05:00
Pedro Pinto
ac5d961a70
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-13 09:47:34 -05:00
Pedro Pinto
8f4e529766
Refactoring SBE parsing.
2021-01-13 09:47:23 -05:00
Taha Afzal
19a7e2898e
normalizing ticks/price/cash in the report
2021-01-12 18:12:45 -05:00
Pedro Pinto
0ef29c181a
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-12 15:48:10 -05:00
Pedro Pinto
81d3d5f11d
Adding ilink3 notes
2021-01-12 15:47:54 -05:00
Pedro Pinto
c4e0518228
Whitespace.
2021-01-12 11:57:45 -05:00
Taha Afzal
121b7df59e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-12 11:28:21 -05:00
Taha Afzal
6740f6b1fb
Adding status col to polygon_values
2021-01-12 11:27:52 -05:00
Pedro Pinto
5a7a267daf
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-12 11:10:59 -05:00
Pedro Pinto
fb1040fb2c
Cleaned up generation of mdp3 files.
2021-01-12 11:10:39 -05:00
Taha Afzal
ecad5518eb
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-12 11:10:37 -05:00
Taha Afzal
4361e2277a
vid constraint on polygon values
2021-01-12 11:10:24 -05:00
Pedro Pinto
7d7e25fd25
More refactoring.
2021-01-12 10:38:59 -05:00
Pedro Pinto
8f0cfe2c2a
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-12 10:32:10 -05:00
Pedro Pinto
c470c5f161
Cleaned up iLink3 code generation.
2021-01-12 10:31:36 -05:00
Taha Afzal
2302e5f37e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-12 09:40:19 -05:00
Pedro Pinto
fc1b84f966
Refactor of directory names.
2021-01-12 09:02:50 -05:00
Pedro Pinto
25ad869030
Adding iLink3 generation code
2021-01-12 08:57:16 -05:00
Taha Afzal
a35559da30
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-11 22:35:18 -05:00
Taha Afzal
0103abbec3
merging
2021-01-11 22:34:57 -05:00
Pedro Pinto
ee725747ad
Added trade summary signal
2021-01-11 13:23:28 -05:00
Taha Afzal
ef0f044e8d
Adding more data to polygon_values
2021-01-11 12:58:23 -05:00
Pedro Pinto
d42b72ea79
Added Trade summary signal to spartan.
2021-01-11 11:56:52 -05:00
Pedro Pinto
f177441d07
Refactored.
2021-01-11 10:14:38 -05:00
Pedro Pinto
939c6442be
Added book signa to realtime handler.
2021-01-11 10:10:35 -05:00
Pedro Pinto
33dad3db73
More book tweaks.
2021-01-10 18:02:25 -05:00
Pedro Pinto
ef296d4b1c
More clean up.
2021-01-10 17:21:15 -05:00
Pedro Pinto
58fbb8e04f
Cleaning up book merging.
2021-01-10 17:17:45 -05:00
Pedro Pinto
0200b53c3e
Refactored Book class.
2021-01-10 14:16:48 -05:00
Pedro Pinto
cdaef11761
Refactored Book class. More to follow.
2021-01-10 14:16:27 -05:00
Pedro Pinto
853d9f8ddd
Refactor Book.
2021-01-08 20:29:30 -05:00
Pedro Pinto
61aac1f1b2
Refactoring book.
2021-01-08 19:37:45 -05:00
Pedro Pinto
48f33e7e4c
Added some comments.
2021-01-08 18:20:57 -05:00
Pedro Pinto
216ebb2454
Moved security snapshot to domain.
2021-01-08 18:17:54 -05:00
Pedro Pinto
5c36f21f06
Refactored.
2021-01-08 18:13:04 -05:00
Pedro Pinto
66360844b2
Refactor.
2021-01-08 14:58:10 -05:00
Pedro Pinto
8eae549af3
Refactor
2021-01-08 14:49:58 -05:00
Pedro Pinto
721bc6d68f
Refactor.
2021-01-08 14:43:53 -05:00
Pedro Pinto
b7d7b3dceb
Refactored.
2021-01-08 14:27:36 -05:00
Pedro Pinto
d3ad5ee823
Refactor.
2021-01-08 14:06:00 -05:00
Pedro Pinto
c119b4b6ef
Refactor.
2021-01-08 13:52:37 -05:00
Pedro Pinto
9aa5e6435d
Cleaned up quicktest.
2021-01-08 10:57:29 -05:00
Pedro Pinto
b4eced0cd3
Set buffer size and non blocking option on reactor.
2021-01-08 10:57:03 -05:00
Pedro Pinto
1f159aacf0
Getting market data from the wire.
2021-01-08 10:37:07 -05:00
Pedro Pinto
d2ed70b6dd
Added a few comments.
2021-01-08 10:36:24 -05:00
Pedro Pinto
76be885a60
Algoman.
2021-01-07 17:56:50 -05:00
Pedro Pinto
f7173cd477
Towards algoman
2021-01-06 16:11:46 -05:00
Pedro Pinto
b448db51f4
More refactor.
2021-01-06 09:15:25 -05:00
Pedro Pinto
a413b2401b
Refactor.
2021-01-06 09:11:33 -05:00
Pedro Pinto
37a673d336
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-05 11:35:39 -05:00
Pedro Pinto
37cb60a777
Refactor.
2021-01-05 11:35:24 -05:00
Pedro Pinto
18fc857b78
Towards algoman.
2021-01-05 11:34:27 -05:00
Taha Afzal
aa4912bba9
Opp summary
2021-01-05 10:17:15 -05:00
Pedro Pinto
7eff7f89d1
Towards an algo framework.
2021-01-04 14:58:24 -05:00
Taha Afzal
9010003a0d
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-04 10:07:10 -05:00
Taha Afzal
9a0bc05b8b
Added edge filter for static analysis
2021-01-04 10:06:51 -05:00
Pedro Pinto
0e4327c3f9
Merged
2021-01-04 09:36:24 -05:00
Pedro Pinto
cc9b4b874c
Renamed MDP3Price to Price.
2021-01-04 09:04:35 -05:00
Pedro Pinto
333609d23a
Renamed MDP3Price::price() to MDP3Price::to_double()
2021-01-04 08:56:48 -05:00
Pedro Pinto
1f7e682900
Fixed some tests that were using MDP3Price.
2021-01-04 08:53:00 -05:00
John Colvin
635d4196f1
build: Resolve QuantityTag template parameter conflict
...
The linker was mixing up the QuantityTag template
parameter structs declared in the aliases
'bts::Quantity,' and 'bts::spartan::mdp3::Quantity.'
2021-01-03 22:46:02 -06:00
John Colvin
3f7ce90cef
spartan cli: Add 'book_stats' command
...
Generates a csv file consisting of basic stats
about each book update (one row per per update).
2021-01-03 22:46:02 -06:00
John Colvin
1c8859ced6
Inline 'event_flags_name' method
2021-01-03 22:35:50 -06:00
John Colvin
04257535e1
clang-format: Add 'AlwaysBreakTemplateDeclarations: true'
2021-01-03 22:34:37 -06:00
John Colvin
ae71fb9c33
Overload Formatter::join to accept ostream&
...
* Existing join methods all create and return a
string, while the overload passes values directly
to the ostream&, and avoids creating/copying a string.
* This will come in handy when creating csv rows.
2021-01-03 22:34:31 -06:00
Pedro Pinto
8f68e5afaf
Dowgraded default filter message in polygons to Info.
2021-01-03 17:10:50 -05:00
Pedro Pinto
23160f7843
Fixed bug in algo effect sort order.
2021-01-03 17:10:17 -05:00
Taha Afzal
2788e39cd6
Refining the pandas code for sniper analysis
2021-01-01 20:15:28 -05:00
Pedro Pinto
e536cae63a
Droppped md::IntPrice in favour od MDP3Price.
2021-01-01 16:32:22 -05:00
Taha Afzal
e6b96b3fc3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2021-01-01 12:56:52 -05:00
Taha Afzal
6d357c8d22
One place to look at static analysis of sniper opportunuities
2021-01-01 12:56:44 -05:00
Pedro Pinto
02dcd57817
IntPrice
2020-12-31 17:17:54 -05:00
Pedro Pinto
7a2c5425a1
Towards replacing md::IntPrice
2020-12-31 17:13:31 -05:00
Pedro Pinto
8b667e056c
Removed security db class.
2020-12-31 17:01:29 -05:00
Pedro Pinto
125fe90aaf
Refactored instrument definition.
2020-12-31 16:56:47 -05:00
Pedro Pinto
c7a4d08372
Working on instrument definition.
2020-12-31 16:01:38 -05:00
Pedro Pinto
d2bae92e92
Refactored.
2020-12-31 13:07:21 -05:00
Pedro Pinto
9ff4c81a11
More refactor.
2020-12-31 12:15:24 -05:00
Pedro Pinto
bda105c550
Merged
2020-12-31 12:08:17 -05:00
Pedro Pinto
df36b6d24f
Refactored iceberg quantity.
2020-12-31 12:06:33 -05:00
Pedro Pinto
b34ef9283d
Refactored quantity.
2020-12-31 11:57:22 -05:00
Pedro Pinto
7e13e8cb67
More refactoring.
2020-12-31 11:48:21 -05:00
Taha Afzal
a51f96cc6f
Added product to polygon values
2020-12-31 01:43:07 -05:00
Taha Afzal
99ea103944
merging
2020-12-31 00:34:55 -05:00
Taha Afzal
3b2e5e5d95
Spartan run with sql option, can optionally (based on config) not write the books to the database
2020-12-30 23:24:46 -05:00
Pedro Pinto
e06ce66513
Refactor MDP3TimeStamp to TimeStamp.
2020-12-30 21:11:00 -05:00
Pedro Pinto
738862cb22
Tweaked header layout.
2020-12-30 17:32:41 -05:00
Pedro Pinto
de063e51f0
Another clang-format run, changed how parameters are binned
2020-12-30 17:30:10 -05:00
Pedro Pinto
8f21a77150
Ran clang-format across all files
2020-12-30 17:11:18 -05:00
Pedro Pinto
a27321df2e
Apparently you need a newline at the end of afile
2020-12-30 16:50:01 -05:00
Pedro Pinto
0fb7ba5987
Ran clang-format on spartan, changed format defaults.
2020-12-30 16:30:37 -05:00
Pedro Pinto
a0a508e64f
More documentation.
2020-12-30 16:16:46 -05:00
Pedro Pinto
d8a80419eb
Added some documentatio, run clang-format on iLink3 code.
2020-12-30 14:22:56 -05:00
Pedro Pinto
862df2efb6
Made MDP3 compression tolerant of data loss.
2020-12-30 14:02:08 -05:00
Pedro Pinto
9dcbab9628
Refactor.
2020-12-29 20:02:04 -05:00
Pedro Pinto
ae7b25e120
Refactor.
2020-12-29 20:01:48 -05:00
Pedro Pinto
bb1e7df7a9
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-29 17:15:38 -05:00
John Colvin
b620d33f98
fix build: correct typo 'view' -> 'views'
...
Both 'view' and 'views' are namespaces within
the 'ranges' namespace. They contain some methods
with identitical signatures, although those in
the former are deprecated.
2020-12-29 16:10:18 -06:00
Pedro Pinto
19b5004920
Merged
2020-12-29 16:46:49 -05:00
John Colvin
337fb2ae45
Restore (uncomment) iceberg impl in Sim
...
The bug that was the reason it was originally commented out
has been fixed.
2020-12-29 12:58:24 -06:00
John Colvin
e87d4a796a
fix: IcebergFinder bootstraps with 'orders' instead of 'order_changes'
2020-12-29 12:58:24 -06:00
John Colvin
a419ee9ed1
cli: Make icebergs_csv cmd's columns match those in sql
2020-12-29 12:58:24 -06:00
John Colvin
2fe6e3dcab
cli: Make icebergs_csv command always generate new csv
...
Change the command so it does not attempt to retrieve the
icebergs from a bin file before observing the pcap, nor does it
write the icebergs to a bin file after observation. This behavior
was originally intended as a way to avoid wasting time regenerating
the same set of icebergs when pcap observation was significantly slower.
2020-12-29 12:58:24 -06:00
John Colvin
262b6352a6
test: Add unit tests for synth book computation
2020-12-29 12:58:24 -06:00
John Colvin
a18d29b66a
Add several MDP3Quantity int binary operators
2020-12-29 12:58:24 -06:00
John Colvin
b464b9ab88
Overload SidePriceComp '()' operator for SmallBookLevel
2020-12-29 12:58:24 -06:00
John Colvin
8bf8b6b36e
Clean up, and optimize compute_synthetic_book method
...
* Improve code-readability
* Add documentation
* Avoid copying leg books
2020-12-29 12:58:24 -06:00
John Colvin
cbd10c7a7c
Refactor book_utils::fmt_ladder
...
* use md::IntPrice/MDP3Quantity rather than double/uint32_t
* overload fmt_ladder to accept a single book-side, and an
optional 'side' argument. If 'side' isn't specified, deduce
the side by comparing 2 price levels.
2020-12-29 12:54:47 -06:00
John Colvin
a6bfa8f976
fix: compute_synthetic_book sometimes only populates 1st price level
...
Incorrect 'limiting factor' logic was causing the method to exit
when the qty in the first price level of the first leg was used.
2020-12-29 12:54:47 -06:00
John Colvin
8850d7d188
fix: running_cost accumulation in 'change_unit_qty' method
2020-12-29 12:54:47 -06:00
Taha Afzal
9b62a70c8f
PolygonFinder can be parameterized for symbols(assets), expirations
2020-12-29 12:54:47 -06:00
Taha Afzal
950887851a
Added a product list config for polygon generation
2020-12-29 12:54:47 -06:00
Pedro Pinto
6f5c41ca14
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-29 08:06:54 -05:00
Pedro Pinto
5223529af1
Sorted match effects so that price updates are delivered before order updates.
2020-12-29 08:06:27 -05:00
Taha Afzal
2632d7ea9f
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-28 23:17:28 -05:00
Taha Afzal
de60a0abd1
PolygonFinder can be parameterized for symbols(assets), expirations
2020-12-28 23:17:23 -05:00
Pedro Pinto
c4e4ff57d8
Multiple changes to sniper including use of quantity in shot selection.
2020-12-28 20:06:43 -05:00
Pedro Pinto
b6f108f7ea
More precise alignment of sim time and pcap time.
2020-12-28 20:05:33 -05:00
Pedro Pinto
96c39e68ee
More deterministic names for polygons.
2020-12-28 20:03:49 -05:00
Pedro Pinto
a3d5e63fb6
DB Fixes.
2020-12-28 20:03:35 -05:00
Pedro Pinto
c1be834e54
Changed logging.
2020-12-28 20:02:48 -05:00
Pedro Pinto
caf0914b4d
Better names for sim time.
2020-12-28 20:02:24 -05:00
Pedro Pinto
0fc522f8c2
Removed commented out code.
2020-12-25 13:41:46 -05:00
Pedro Pinto
a247f7e396
Re-enabling all polygons.
2020-12-25 13:36:45 -05:00
John Colvin
03d5047798
fix: compute_synthetic_book sometimes only populates 1st price level
...
Incorrect 'limiting factor' logic was causing the method to exit
when the qty in the first price level of the first leg was used.
2020-12-24 14:22:58 -06:00
John Colvin
391b8ece7a
fix: running_cost accumulation in 'change_unit_qty' method
2020-12-24 14:22:42 -06:00
Taha Afzal
7d75654cf0
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-24 12:53:31 -05:00
Taha Afzal
6a46ad2b0e
Added a product list config for polygon generation
2020-12-24 12:53:27 -05:00
Pedro Pinto
e413ad216e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-24 10:44:43 -05:00
Pedro Pinto
d582005d64
Added assert to make sure books are correct.
2020-12-24 10:44:29 -05:00
Pedro Pinto
02fa07552b
Added expiration to instrument definition.
2020-12-24 10:44:08 -05:00
Taha Afzal
b032926581
hooking polygon book calc to polygon_values
2020-12-23 18:05:03 -05:00
Pedro Pinto
189cb66daf
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-23 14:24:47 -05:00
Pedro Pinto
36f1df58f0
Intermediate commit.
2020-12-23 14:24:23 -05:00
Taha Afzal
8489eda3a6
Merging
2020-12-23 12:42:37 -05:00
Taha Afzal
3e189a751d
Allow negative payups
2020-12-23 12:32:45 -05:00
Pedro Pinto
b2f6be6d10
Added back all polygons, had a temp break to debug synth book.
2020-12-23 12:22:48 -05:00
John Colvin
b656632e86
fix: synthetic book computation
...
* the fix was technically in the 'change_unit_qty' method,
which is called from 'compute_synthetic_books.'
* Although the 'change_unit_qty' method was correctly dividing
quantity by 'unit_qty', it was not scaling the prices.
2020-12-23 10:28:59 -06:00
John Colvin
22cf50282c
.vscode: change python interpreter path setting
2020-12-23 10:28:59 -06:00
Taha Afzal
7650e15a52
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-23 10:55:20 -05:00
Taha Afzal
235d6ecd2f
Polygon values have legs books (as text columns), and synthetic books. There is a also new view that joins polygon values with events
2020-12-23 10:55:10 -05:00
Pedro Pinto
c9a0d4489b
Added max loss, added start/stop times for simulation, added price only order changes.
2020-12-22 10:58:05 -05:00
Pedro Pinto
c6697b82fe
Added code to convert ptime to mdp3 time.
2020-12-22 10:56:16 -05:00
Pedro Pinto
e0231c7dd5
Fixed PCapReader destructor.
2020-12-22 10:55:42 -05:00
Pedro Pinto
f3bcbf85dd
Reduced console logging.
2020-12-21 10:16:41 -05:00
Pedro Pinto
7e04f9a5b3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-21 10:00:13 -05:00
Pedro Pinto
1835d490a3
Added the ida of parameter sets in the simulator.
2020-12-21 09:59:38 -05:00
Taha Afzal
36bf94aad9
placeholder orders are not fired in file mode
2020-12-18 09:17:28 -05:00
Taha Afzal
468df062c3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-17 12:15:27 -05:00
Taha Afzal
544a9212cf
Sniper launched placeholder orders that are then used to snipe
2020-12-17 12:15:19 -05:00
Pedro Pinto
822f43c5a1
Better logging of shot sequence number.
2020-12-17 10:22:53 -05:00
Pedro Pinto
85106cb293
Better logging of clean/saved/forced shots.
2020-12-17 10:22:33 -05:00
Pedro Pinto
ebd0fa4809
Added utility to parse performance logs.
2020-12-17 09:40:04 -05:00
Pedro Pinto
43f4fe2011
Better logging for sniper model.
2020-12-17 09:39:41 -05:00
Taha Afzal
ffcebdf94a
Perf logs in the sniper
2020-12-16 00:05:31 -05:00
Pedro Pinto
0e7b104c76
Added more performance logging.
2020-12-15 18:04:10 -05:00
Pedro Pinto
f0b76f244c
Added packet structure to sql DB.
2020-12-15 17:01:27 -05:00
Pedro Pinto
e4dc9103e1
Fixed typo in md.sql
2020-12-15 14:17:42 -05:00
Pedro Pinto
afb88122ad
Added performance logging.
2020-12-15 13:40:08 -05:00
Pedro Pinto
18a0fa7fb9
Tweak to md sql DB.
2020-12-15 13:34:55 -05:00
Pedro Pinto
b491b2b4cd
Added seq numbers to top of the book and opportunity views.
2020-12-15 09:45:53 -05:00
Pedro Pinto
4b1e9afe28
Corrected corid for trade summary signal.
2020-12-15 09:45:35 -05:00
Pedro Pinto
abb9a56761
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-14 11:56:52 -05:00
Pedro Pinto
09505b2005
Added pause between shots, added clean flag to shot outcome.
2020-12-14 11:56:37 -05:00
Pedro Pinto
e3a9adbf3f
Fixed clean up of sim db.
2020-12-14 11:55:47 -05:00
Taha Afzal
9aafed66c0
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-14 10:50:15 -05:00
Taha Afzal
a259aa8419
Lookeahd book top guessed aggressively
2020-12-14 10:50:06 -05:00
Pedro Pinto
4daf6e127e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-14 10:32:52 -05:00
Pedro Pinto
1ac36e932e
Fixed unbuscription from trade signal on algo termination.
2020-12-14 10:32:26 -05:00
Pedro Pinto
23b038a6a7
Optionall automatically clear previous runs from sim_db.
2020-12-14 10:17:54 -05:00
Pedro Pinto
e2069c8584
Fixed key remapping in sim.
2020-12-14 10:17:25 -05:00
Pedro Pinto
525cf4652e
Removed old proto from include.
2020-12-14 10:17:07 -05:00
Pedro Pinto
6eb3595294
Added sniper_run view to sim_db.
2020-12-14 10:16:14 -05:00
Taha Afzal
8c421d0726
Slight log change
2020-12-14 10:15:12 -05:00
Pedro Pinto
870c69b834
Removed incorrect assertions.
2020-12-13 18:08:09 -05:00
Pedro Pinto
4f39307b9b
Disabled icebergs because of show quantity set to 0.
2020-12-13 18:07:37 -05:00
Pedro Pinto
b687e339a4
Improved logging during sniper run.
2020-12-13 18:07:11 -05:00
Pedro Pinto
8623f2369f
Fixed a bug in sniper model.
2020-12-13 18:06:56 -05:00
Taha Afzal
7eade56042
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-13 16:29:08 -05:00
Taha Afzal
1091c983f9
More logs
2020-12-13 16:29:02 -05:00
Pedro Pinto
533ca3e601
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-13 10:33:21 -05:00
Pedro Pinto
e4b8594d44
Ran clang format.
2020-12-13 10:33:07 -05:00
Taha Afzal
22e5a53e32
FillType flag
2020-12-12 21:48:22 -05:00
Pedro Pinto
6c5f5116b4
Tweaked 'shots' view in sim db.
2020-12-12 20:03:51 -05:00
Pedro Pinto
b5e455ff75
Adjusted polygon filter to include dec/march.
2020-12-12 19:20:18 -05:00
Pedro Pinto
03cd5c164f
Improved caching of pcap data during simulations.
2020-12-12 19:19:26 -05:00
Pedro Pinto
c4aa99636e
Added pay up to sniper model.
2020-12-11 19:45:16 -05:00
Pedro Pinto
ed0eb9be19
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-11 14:13:32 -05:00
Pedro Pinto
d155f8ed12
Tweaked python analysis tools.
2020-12-11 14:12:32 -05:00
Pedro Pinto
ffcfe3cf9c
Added more parameters to sim db.
2020-12-11 14:11:59 -05:00
Taha Afzal
d848a15217
lookahead diagnostics log
2020-12-11 11:03:55 -05:00
Taha Afzal
951f8e9442
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-11 10:00:58 -05:00
Taha Afzal
f10f46b811
corid and use_lookahead logged
2020-12-11 10:00:50 -05:00
Pedro Pinto
d7e80a1303
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-10 22:24:09 -05:00
Pedro Pinto
de0d6c5891
Cleaned up sniper model
2020-12-10 22:21:52 -05:00
Pedro Pinto
4e7c0122d7
Cache preload of sim.
2020-12-10 22:21:07 -05:00
Pedro Pinto
cb75e46161
Better DBs.
2020-12-10 22:20:11 -05:00
Taha Afzal
6954f5842f
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-10 12:36:16 -05:00
Taha Afzal
cbc1cc6b5b
using trade summs of atleast 2 messages, more logs
2020-12-10 12:35:57 -05:00
Pedro Pinto
3cc2cf0783
Hard coded filtering of polygon opportunities to just the one polygon.
2020-12-10 12:22:46 -05:00
Pedro Pinto
b3e7bcf2e1
Fixed iceberg table in sql command.
2020-12-10 12:22:00 -05:00
Pedro Pinto
dd3c33387d
Forgot to add the number of levels to the actual interface.
2020-12-10 11:02:21 -05:00
Pedro Pinto
84a8f11846
Added number of levels to trade signal.
2020-12-10 10:50:33 -05:00
Pedro Pinto
4d2ba5fc41
Fixed initialization bug in sniper.
2020-12-10 09:10:10 -05:00
Pedro Pinto
b980e39ebb
Merged
2020-12-10 09:03:14 -05:00
Pedro Pinto
0dc97dd2d9
Refactor part 8.
2020-12-10 08:56:14 -05:00
Pedro Pinto
cef6815e5c
Refactor, part 8.
2020-12-10 08:47:07 -05:00
Pedro Pinto
4e84b7d789
Refactor, part 7
2020-12-10 08:44:25 -05:00
Pedro Pinto
f632fa2e50
Refactor, part 6
2020-12-10 08:42:09 -05:00
Pedro Pinto
1919440a83
Refactor, part 5.
2020-12-10 08:25:26 -05:00
Taha Afzal
1a43dafb2e
Evaluating in response to trade summary,improved logs
2020-12-09 18:52:57 -05:00
Taha Afzal
bd54f19bdb
More logging
2020-12-09 17:13:22 -05:00
Pedro Pinto
5f2e98beed
More clean up.
2020-12-09 14:58:55 -05:00
Pedro Pinto
f7ea0cd254
Removing old sim code part 3.
2020-12-09 14:51:58 -05:00
Taha Afzal
af1ab49219
added sweep test for the sell side
2020-12-09 14:49:57 -05:00
Taha Afzal
2ac74c5e29
Clang build fix, sweep book calc test
2020-12-09 14:35:32 -05:00
Pedro Pinto
fb42df3117
Removing old sim, part2
2020-12-09 14:34:31 -05:00
Pedro Pinto
443dacaefb
Removing old simulator, part 1.
2020-12-09 14:26:10 -05:00
Taha Afzal
0d5b3d9018
detaching all children before completing the sniper after each shot
2020-12-09 13:15:51 -05:00
Taha Afzal
cc75c46b1a
sniper turns itself off after shooting
2020-12-09 12:54:35 -05:00
Taha Afzal
1ee60f743e
added the cumm price/qty constraint, everything hooked up
2020-12-09 12:11:24 -05:00
Taha Afzal
dc8fd8baef
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-09 09:55:39 -05:00
Taha Afzal
67b6884200
cumm edge/qty parameter to sniper
2020-12-09 09:55:30 -05:00
Pedro Pinto
03a81280f4
Merged
2020-12-09 08:49:27 -05:00
Pedro Pinto
34675696f3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-09 08:38:44 -05:00
Pedro Pinto
0e1687c853
Changed trade summary signal to include last qty.
2020-12-09 08:38:00 -05:00
John Colvin
ccf8a8e492
fix iceberg integration with new simulator
...
* Sim uses MergedMatcher::reset to inject a particular exchange state
into the matcher (the matcher does not reset the visible quantity to the
show quantity in a reset op).
* iceberg_helper::add_iceberg_annotation does not set the visible
quantity to the show quantity if the order change type is 'added'.
2020-12-09 00:12:31 -06:00
John Colvin
a0d0a30ad3
refactor 'is_exhausted' -> 'is_empty' in compute_synthetic_books
2020-12-09 00:11:51 -06:00
John Colvin
ff02801000
compute_synthetic_book doesn't copy leg market tuples as it iterates through them
2020-12-09 00:11:51 -06:00
John Colvin
590ca3892d
compute_synthetic_book was multiplying leg prices by their qty twice
...
This is a pre-emptive bug fix, as the method has only been fed synths
with leg quantities +/-1.
2020-12-09 00:11:51 -06:00
John Colvin
1674486dc0
vscode (build): change linux build task to run in docker
...
* prompts user for configuration (debug or release)
* looks for docker instance named "${USER}s_docker"
2020-12-09 00:11:51 -06:00
John Colvin
dc5301f8b0
vscode (intellisense): add build/ninja_debug/src to browse path
2020-12-09 00:11:51 -06:00
Taha Afzal
436f7eefe9
Added logic for book calculation based on sweep
2020-12-09 00:57:34 -05:00
John Colvin
258d4a3fc1
import compute_synthetic_book method from spartan
2020-12-08 23:00:18 -06:00
John Colvin
c53f6425cd
import IntPrice arithmetic operators from spartan
...
The compute_synthetic_book method (also to be imported
from spartan) depends on a couple of them.
2020-12-08 22:52:28 -06:00
Taha Afzal
fd8bd63f55
Added payup ticks to sniper and logic to alternate bw main book and lookahead book
2020-12-08 21:47:25 -05:00
Pedro Pinto
64b42aef99
Trade summary signal code complete.
2020-12-08 16:01:46 -05:00
Pedro Pinto
1d323ddc37
Fixed bug in parsing a few sim run options.
2020-12-08 11:42:26 -05:00
Pedro Pinto
c1331df2fe
Fixed cumm qty.
2020-12-08 11:03:19 -05:00
Pedro Pinto
cb1946a8d0
Delayed simulation start until first algo order to improve accuracy.
2020-12-08 09:14:54 -05:00
Pedro Pinto
09c043b11f
Added some validation for the sniper synth book.
2020-12-08 08:47:16 -05:00
Pedro Pinto
6df3dce95d
Commented out the IB annotation until we get it sorted out.
2020-12-07 19:51:00 -05:00
John Colvin
9787f2ed8e
Merged in spartan_tas.sim_icebergs (pull request #415 )
...
integrate new IcebergInput logic into sim runs
Approved-by: Pedro Pinto
2020-12-08 00:37:00 +00:00
John Colvin
654f79b42d
integrate new IcebergInput logic into sim runs
2020-12-07 17:55:26 -06:00
Taha Afzal
1840120af8
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-07 14:31:30 -05:00
Taha Afzal
b90ac3d629
Adding jupyter notebooks for ES sniper analysis
2020-12-07 14:31:21 -05:00
Pedro Pinto
e846420f9d
Fixed bug in valuation
2020-12-07 14:29:49 -05:00
John Colvin
87a7fca75c
overload compute_synthetic_book with standard Book type params
2020-12-07 11:22:05 -06:00
Pedro Pinto
a9c07ec770
Merged
2020-12-07 11:43:52 -05:00
Pedro Pinto
fc2bd8230a
Merge branch 'spartan_tas' into sim2
2020-12-07 11:42:38 -05:00
Pedro Pinto
36c2b7b952
Added skelleton for min_cumm_qty and min_cumm_price params.
2020-12-07 11:39:58 -05:00
John Colvin
fb3f843309
(vscode) setting: don't configure cmake on open
2020-12-06 20:24:56 -06:00
John Colvin
12eef87fb0
fix typos to remove clang build warnings
2020-12-06 20:24:56 -06:00
Taha Afzal
4c066859c4
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-12-06 20:31:01 -05:00
Taha Afzal
b4716db99d
Adding synthetic test runner to jason
2020-12-06 20:30:56 -05:00
John Colvin
07f13de58e
Merge remote-tracking branch 'origin/sim2' into spartan_tas
2020-12-06 18:09:05 -06:00
Pedro Pinto
92bdb06ceb
Integrated commission model..
2020-12-06 12:41:07 -05:00
John Colvin
256b1aeb59
implement MergedMatcher::clear
2020-12-06 11:30:23 -06:00
John Colvin
9b20c2a230
remove CheckedMatcher struct, replace usage with matcher (was only using the matcher member anyways)
2020-12-06 11:30:23 -06:00
John Colvin
78c3617749
add missing comma to settings.json
2020-12-06 11:30:23 -06:00
John Colvin
9a041af544
MergedMatcher uses new '_asset_matcher' method to remove redundant code
2020-12-06 11:28:35 -06:00
Pedro Pinto
8687de6fa2
Added better logging of param values.
2020-12-06 11:45:59 -05:00
Pedro Pinto
c7a4bb461a
Sim2 working.
2020-12-05 21:54:34 -05:00
Pedro Pinto
c96f142709
Towards simple sim.
2020-12-04 20:57:54 -05:00
John Colvin
6367375ac6
add clear, reset methods to Direct/MergedMatcher (for state injections during sim runs)
2020-12-03 23:51:25 -06:00
John Colvin
0530e50a04
fix documentation of iceberg_helper::add_iceberg_annotation
2020-12-03 18:29:21 -06:00
John Colvin
afd05f3c7c
add missing comma to generated books csv
2020-12-03 17:11:34 -06:00
John Colvin
fff7faab90
added some diagnostic spartan cmds to track down sim_books mismatches
2020-12-03 17:11:34 -06:00
John Colvin
e4c36c8470
improve iceberg deduction
2020-12-03 17:11:34 -06:00
Pedro Pinto
11527282c8
Added some matcher validatio helpers.
2020-12-03 08:39:40 -05:00
John Colvin
085764b9a4
add src/.clang-format to .gitignore
2020-12-01 13:44:44 -06:00
Pedro Pinto
96e3c3b9ac
Added updated_price only change to possible order changes.
...
This is needed to facilitate iceberg management.
2020-12-01 13:43:41 -06:00
Pedro Pinto
2c9893c524
Accelerated CSV generation.
2020-12-01 13:42:47 -06:00
John Colvin
cbf444d5ed
added IcebergStateMapper to determine exact sequence of iceberg state per event id
2020-12-01 13:41:14 -06:00
John Colvin
25e52df136
add create_polygon_books.sql
2020-12-01 12:44:25 -06:00
John Colvin
85afd6966c
add some docker scripts (start_docker.sh, docker_bash.sh)
2020-12-01 12:44:25 -06:00
John Colvin
724df36bdc
refactor vector<tuple<price,qty>> to SmallBook (vector alias), and SmallBookLevel (actual struct instead of tuple)
2020-12-01 12:44:25 -06:00
John Colvin
afb0cdfbaf
added SyntheticBookRecorder and polygon_books spartan command
2020-12-01 12:44:22 -06:00
Pedro Pinto
2de4ec6ebe
Sim2 and polyobserver agree.
2020-12-01 07:44:59 -05:00
John Colvin
70ca670955
overload 'Formatter::fmt_values' for any Iter type
2020-11-30 22:00:02 -06:00
John Colvin
acea32f618
add 'analysis/data' to .gitignore (I symlink this to pcap/sqlite data for jupyter-notebooks)
2020-11-30 22:00:02 -06:00
John Colvin
be11f93de7
add src/.clang-format to .gitignore
2020-11-30 22:00:02 -06:00
John Colvin
067ec9b2b9
extracted member functions from FifoImpliedSecurityMatcher into book_utils namespace
2020-11-30 11:33:11 -06:00
Pedro Pinto
398397ca7f
Towards self-correcting simulator.
2020-11-29 17:05:45 -05:00
Pedro Pinto
3599fa2b0c
Added reference code.
2020-11-21 18:24:17 -05:00
Pedro Pinto
f650177758
Towards better pcap DB generation and use.
2020-11-21 18:23:43 -05:00
Pedro Pinto
56227b77d2
Updated .gitignore
2020-11-20 12:18:41 -05:00
Pedro Pinto
9deaf6bc6d
More analysis tools
2020-11-20 12:16:50 -05:00
Pedro Pinto
0f4d5a7047
Updated jupyter notebooks
2020-11-19 08:08:02 -05:00
Pedro Pinto
b82004cf26
Improved analysis.
2020-11-18 17:09:11 -05:00
Taha Afzal
59a0eba902
Fixing the aggressive order's qty adjustment for icebergs
2020-11-16 12:12:12 -05:00
Taha Afzal
e979fc86b2
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-16 11:09:55 -05:00
Taha Afzal
b28ba12146
Added some comments to the matcher test and traced back the failing test to crossing order (that bnecomes a resting order) bug
2020-11-16 11:09:48 -05:00
Pedro Pinto
4cfd4bec24
Fixed lost fills on aggressor
2020-11-15 15:06:32 -05:00
Pedro Pinto
d9aa4eea38
Minor refactor
2020-11-14 17:52:15 -05:00
Pedro Pinto
fefe716d2f
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-14 12:42:51 -05:00
Pedro Pinto
c6c0dc21e2
Added better logging to simulator
2020-11-14 12:42:44 -05:00
Taha Afzal
cd6bdb1576
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-11 10:22:11 -05:00
Taha Afzal
9266e919b6
Bridge is untested but completed
2020-11-11 10:21:58 -05:00
Pedro Pinto
116131f0a8
Cleaned up and sped up sim log.
2020-11-10 20:06:46 -05:00
Pedro Pinto
7fb644ee3e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-10 12:01:10 -05:00
Pedro Pinto
321550d418
More updates to sim db.
2020-11-10 11:59:59 -05:00
Taha Afzal
4234087c34
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-10 11:35:57 -05:00
Taha Afzal
bdac6bc3fa
Callbacks in the AlgoBridge are routed back
2020-11-10 11:35:45 -05:00
Pedro Pinto
524e83c595
Streamlined sim db schema for easier querying.
2020-11-10 10:49:14 -05:00
Pedro Pinto
f9b2f413d7
Accoutend for algo transaction latency in simulation.
2020-11-10 10:48:50 -05:00
Pedro Pinto
d2f21c4b36
Deterministic names for polygons.
2020-11-10 10:47:46 -05:00
Pedro Pinto
95d8d8a42d
Better logging for sniper.
2020-11-10 10:47:34 -05:00
Pedro Pinto
63a2ba032d
Cleaned up some queries in md.sql.
2020-11-10 10:46:52 -05:00
Taha Afzal
e8ccd265ca
More bridge work
2020-11-10 08:48:56 -05:00
Taha Afzal
2c2968fe1a
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-08 23:44:59 -05:00
Taha Afzal
2df07f446b
Bridge filling in
2020-11-08 23:44:53 -05:00
Pedro Pinto
a906eb951e
Mapped order ids to be unique
2020-11-08 11:57:08 -05:00
John Colvin
50f3e39b2f
Matcher asserts against duplicate/recycled keys
2020-11-06 19:52:30 -06:00
Pedro Pinto
7c730f7b96
Multiple changes.
2020-11-06 19:17:02 -05:00
Pedro Pinto
7bb19d446d
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-06 13:10:45 -05:00
Pedro Pinto
8887962d6f
Towards a patient sniper
2020-11-06 13:10:41 -05:00
Taha Afzal
2f032def09
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-06 11:50:13 -05:00
Taha Afzal
426781a839
Security translation in the bridge
2020-11-06 11:50:01 -05:00
John Colvin
65b3addfdb
FifoMergedSecurityMatcher passes order changes directly to FifoSecurityMatcher when implied_matching is off
2020-11-05 16:48:12 -06:00
Taha Afzal
b104326036
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-05 16:31:28 -05:00
Taha Afzal
74267bbba9
Filling in the bridge 1
2020-11-05 16:31:22 -05:00
Pedro Pinto
5f454bcd6e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-05 15:52:11 -05:00
Pedro Pinto
c300bdcac9
Fixed up md.sql.
2020-11-05 15:51:44 -05:00
John Colvin
b85604097d
fix matcher partial-fills bug (part 2, fill at actual order price if implied matching is off)
2020-11-05 11:57:58 -06:00
Taha Afzal
89d9585ad8
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-05 11:53:30 -05:00
Taha Afzal
8e992a6979
IAlgoServices adapter
2020-11-05 11:53:24 -05:00
Pedro Pinto
51a4aabc09
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-04 16:37:49 -05:00
Pedro Pinto
b423872e66
More DB work.
2020-11-04 16:37:28 -05:00
John Colvin
a5ef9fd3cb
fix matcher partial-fills bug
2020-11-04 16:15:56 -05:00
Taha Afzal
a48686ce11
Adding corid to logs
2020-11-04 10:55:31 -05:00
Pedro Pinto
440a68cb9b
Added correlation id to IAlgoServices.
2020-11-04 08:51:35 -05:00
Pedro Pinto
480fd57ea4
Merged
2020-11-04 08:45:40 -05:00
Pedro Pinto
f07e018fbd
Many changes.
2020-11-04 08:42:43 -05:00
Taha Afzal
95a2093dc3
SniperPolygon was not getting the pid assigned
2020-11-03 17:34:35 -05:00
Taha Afzal
e3ec53c3f3
better logs
2020-11-03 11:16:30 -05:00
Taha Afzal
6d679f302b
Adding cancel in no side affect orders
2020-11-02 23:24:01 -05:00
Taha Afzal
85fa61768f
Commenting out shooting orders till code review
2020-11-02 23:14:31 -05:00
Taha Afzal
447d1a3997
Bridge work start
2020-11-02 23:07:35 -05:00
Taha Afzal
a5520204f5
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-01 23:13:28 -05:00
Taha Afzal
9b8ebe32d4
Sniper 1.0 completed
2020-11-01 23:13:22 -05:00
Taha Afzal
7914ed4147
Shooting real order
2020-11-01 10:19:04 -05:00
Pedro Pinto
a851dc6bb5
Rigged sniper to terminate simulation early so that we iterate quicker
2020-11-01 09:47:06 -05:00
Pedro Pinto
c9d9ab9a20
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-11-01 08:55:32 -05:00
Pedro Pinto
84e75c28e5
More tweaks to DB.
2020-11-01 08:55:21 -05:00
John Colvin
1e6829afc7
fix affect-free matching (actually add hypothetical fills to effects vector)
2020-10-31 12:47:01 -04:00
Pedro Pinto
1d23955868
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-30 18:42:30 -04:00
Pedro Pinto
aebe59a69f
Added early termination of simulation.
2020-10-30 18:41:53 -04:00
John Colvin
0b125e3299
fix ERROR logging macro in FifoMergedSecurityMatcher
2020-10-30 18:20:01 -04:00
John Colvin
46b4fab4ed
FifoMergedSecurityMatcher affect-free matching impl (assumes no implied markets)
2020-10-30 18:18:10 -04:00
John Colvin
2d6ca5a347
FifoMergedSecurityMatcher should subtract fill qty from working before the post-fill order state is logged
2020-10-30 16:30:20 -04:00
Taha Afzal
145cf2b482
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-29 13:36:57 -04:00
Taha Afzal
0a94c729e5
-ve edge allowed, can also be modified on the fly
2020-10-29 13:36:47 -04:00
Pedro Pinto
a31331be0c
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-29 12:26:12 -04:00
Pedro Pinto
67ab58a99b
Added exporting of matcher/sim generated books.
2020-10-29 12:25:03 -04:00
Taha Afzal
3835824d36
Key type is a parameter in the UI
2020-10-29 12:22:02 -04:00
Taha Afzal
02f98accd3
Polygon files can have bts keys or exchange keys (optionally)
2020-10-29 11:19:08 -04:00
Taha Afzal
d84119ca6a
Merge
2020-10-28 23:32:56 -04:00
Taha Afzal
c39fb79fda
Fixed the algo string params (SniperAlgo uses it now)
2020-10-28 23:13:20 -04:00
Pedro Pinto
d6a5a4023b
Fixed sim input bootstraped orders priority
2020-10-28 17:39:21 -04:00
Taha Afzal
8b0a0269ec
Better logging and some cleanup
2020-10-28 17:02:28 -04:00
Pedro Pinto
334493c1be
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-27 19:21:47 -04:00
Pedro Pinto
71bae99c38
Added more data to the polygon valuation.
2020-10-27 19:21:18 -04:00
John Colvin
3d1ab364dc
change bts_assert to log error instead
2020-10-27 18:02:26 -04:00
John Colvin
46820eecff
FifoSecurityMatcher::has_same_orders returns the error msg (shouldn't return an empty error msg on failure, as that indicates success)
2020-10-27 17:49:26 -04:00
John Colvin
4bc5f07815
add version header to .icebergs file
2020-10-27 17:46:15 -04:00
John Colvin
c78731e033
IcebergFinder subtracts qty changes from estimated qty (the matcher should adjust the total qty incrementally)
2020-10-27 17:40:58 -04:00
John Colvin
f063d7ecbd
tone down console output in MatcherValidationObserver; change hardcoded GC to ES (temp measure until the cmd accepts symbol args)
2020-10-27 17:40:58 -04:00
John Colvin
f67071708d
fix iceberg handling in MatcherValidationObserver
2020-10-27 17:40:58 -04:00
John Colvin
09d7d996cd
iceberg_helper::subtract_iceberg_fills protects against overfills
2020-10-27 17:40:58 -04:00
John Colvin
a143d851f2
add != operators for IcebergQuantity and optional<IcebergQuantity>
2020-10-27 17:40:58 -04:00
John Colvin
a25f089810
fix iceberg_file_cache (matcher validation observer saves ibs in file to speed up repeated runs on same pcap)
2020-10-27 17:40:58 -04:00
John Colvin
862d2a7ee8
remove unnecessary field '_side' from FifoSecurityMatcher::BookKeeper
2020-10-27 17:40:58 -04:00
Taha Afzal
408ae423c6
Modifications to the book affecting bit
2020-10-27 16:15:48 -04:00
Taha Afzal
0e1da96e52
Added test for sim order with no book effects
2020-10-27 14:38:03 -04:00
Taha Afzal
d0aa686693
FifoMatcher can match without affecting the existing markets
2020-10-27 11:54:07 -04:00
Pedro Pinto
317da795ec
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-27 08:52:10 -04:00
Taha Afzal
07887e60c5
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-26 18:47:12 -04:00
Taha Afzal
a2a7859a04
SniperAlgo
2020-10-26 18:47:04 -04:00
Pedro Pinto
d69aee25f9
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-26 17:53:17 -04:00
John Colvin
87e855086d
FifoSecurityMatcher recomputes book lazily to improve performance
2020-10-26 17:27:38 -04:00
Pedro Pinto
e918521266
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-26 15:26:42 -04:00
Pedro Pinto
969a3fd843
Intermediate commit
2020-10-26 15:25:57 -04:00
John Colvin
4adfe5708a
enable implied matching again (GatewayAgent uses MergedMatcher)
2020-10-26 14:59:24 -04:00
John Colvin
d270f60c2c
speed up FifoPriceLevelMatcher::populated() method (return as soon as 1 qty is detected)
2020-10-26 14:59:24 -04:00
Pedro Pinto
192f6ef390
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-26 13:38:17 -04:00
Pedro Pinto
df552e27d6
More views in sim_db.
2020-10-26 13:37:51 -04:00
Pedro Pinto
4850d279f6
CMAke
2020-10-26 13:37:35 -04:00
Pedro Pinto
29896b5ca4
Better logging.
2020-10-26 13:37:27 -04:00
John Colvin
710e05b029
migrate recent iceberg improvements over to DirectMatcher, and disable implied matching (need to resolve slowness in the MergedMatcher)
2020-10-26 12:40:52 -04:00
Pedro Pinto
f627bf9238
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-26 10:21:32 -04:00
Pedro Pinto
8a59948fe5
Made sniper check available depth before shooting, added a sniper mode
...
to just log.
2020-10-26 10:20:53 -04:00
Pedro Pinto
5de34a52bd
Added some new DB functionality, added utilities to manipulate book.
2020-10-26 10:18:44 -04:00
John Colvin
511b9551e3
delete old test code, clean up logging/console output in FifoMergedSecurityMatcher
2020-10-23 18:20:02 -04:00
John Colvin
8ddaaac244
define mdp3quantity operators with macro
2020-10-23 17:26:43 -04:00
John Colvin
ff0d0a2592
add implied_book method to Matcher, make book/implied_book methods const
2020-10-23 16:33:20 -04:00
John Colvin
919d5eb880
uncommented macro to enable implied matching in simulator (enables new iceberg code by side effect)
2020-10-23 16:32:21 -04:00
John Colvin
2e65f52802
Matcher gets iceberg qty directly from MDP3Order (since they are now generated w/ sim_input)
2020-10-23 16:12:19 -04:00
John Colvin
048f170727
fix build
2020-10-23 14:03:43 -04:00
John Colvin
bef915fd56
better iceberg deduction; integrate deduced icebergs into matcher
2020-10-23 13:29:37 -04:00
John Colvin
4f493aaf29
add pragma once to security_comp.h
2020-10-23 13:28:26 -04:00
Pedro Pinto
6b91e28d40
added icebergs to simulator input.
2020-10-23 11:28:56 -04:00
Pedro Pinto
895e3eebdd
Fixed clang build.
2020-10-23 08:29:57 -04:00
Pedro Pinto
2fed9da9fa
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-23 08:28:52 -04:00
Pedro Pinto
f6641e2ed1
Added observer algo to help validate the simulator.
2020-10-23 08:28:29 -04:00
Pedro Pinto
e5579871b5
Adjusted logging levels as per console/file discussion.
2020-10-23 08:28:08 -04:00
Pedro Pinto
e7a68a2ab3
Added top of the book view.
2020-10-23 08:27:32 -04:00
Pedro Pinto
0a58d69083
Faster combination generation.
2020-10-22 11:27:45 -04:00
Pedro Pinto
ed1915582c
Added view to summarize opportunity.
2020-10-22 11:27:30 -04:00
Pedro Pinto
5ea147efec
Trying to speed up polygon valuations.
2020-10-21 10:34:17 -04:00
Pedro Pinto
f1c5ba93d3
Fixed bugs in handling of CME fixed sized strings.
2020-10-21 10:31:37 -04:00
Pedro Pinto
e741b33810
Added command to list securities.
2020-10-21 10:30:24 -04:00
Pedro Pinto
044b331d27
Fixed build.
2020-10-19 10:18:13 -04:00
John Colvin
9f3124793a
implied matching seems slow, added macro in GatewayAgent.cpp to toggle it on or off while i investigate
2020-10-19 00:17:02 -04:00
John Colvin
f7c33b5eee
tone down logging/console output in matcher
2020-10-19 00:16:12 -04:00
John Colvin
d1fc809553
integrate implied matching into simulator
2020-10-18 23:06:25 -04:00
Pedro Pinto
e305ad124e
Toned down logging
2020-10-17 21:41:26 -04:00
Pedro Pinto
f68458a0f8
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-17 21:34:44 -04:00
Pedro Pinto
b33251fc64
Better opportunity static analysis.
2020-10-17 21:34:14 -04:00
John Colvin
695e484fd7
update externals (added ranges-v3 lib)
2020-10-17 20:28:42 -04:00
John Colvin
281c1d1919
add fifo implied matching facilities
2020-10-17 19:55:56 -04:00
John Colvin
62ad17011e
IntPrice * operator for regular ints
2020-10-17 19:34:44 -04:00
Pedro Pinto
52420a1256
build.
2020-10-16 20:19:21 -04:00
Pedro Pinto
9a2ff85669
Logged missing CPP's rather than crashing.
2020-10-16 20:14:54 -04:00
Pedro Pinto
76e0bced60
More realistic limits for polygon search space.
2020-10-16 20:14:37 -04:00
Pedro Pinto
e9cdb26d46
Better logging.
2020-10-16 20:13:39 -04:00
Pedro Pinto
e780ba5867
Merged
2020-10-15 14:25:39 -04:00
Pedro Pinto
e5d77593d1
Changed logging
2020-10-15 14:24:02 -04:00
Pedro Pinto
6580f3883b
Added logging of cancel/replace
2020-10-15 14:18:57 -04:00
Pedro Pinto
5e825b70d2
Added logging of cancel/replace
2020-10-15 14:18:28 -04:00
Pedro Pinto
2e13820e28
Dropped polygon opportunities with quantity 0
2020-10-15 10:56:56 -04:00
Pedro Pinto
24c06c5492
Fixed query.
2020-10-15 09:57:28 -04:00
Pedro Pinto
ad8ac601ce
Added commonly needed indexes to md DB, fixed duration calculation in
...
polygon opportunity calculation.
2020-10-15 09:53:49 -04:00
Pedro Pinto
fc21544cf2
Better polygon opportunity analysis.
2020-10-15 09:17:26 -04:00
Pete Fisher
a66eae66bb
fixing for python3
2020-10-14 21:56:49 -04:00
Pedro Pinto
af6636b44b
Added polygon opportunity analysis to SQL.
2020-10-14 21:17:36 -04:00
Pedro Pinto
7ab55a2fe6
Generating merged books.
2020-10-14 16:54:17 -04:00
Pedro Pinto
973cc1195a
Added implied book merging.
2020-10-14 12:30:47 -04:00
Pedro Pinto
ef849f04a4
Fixed reporting of event id in shout outcome in sniper.
2020-10-14 10:07:04 -04:00
Pedro Pinto
f1b91625e2
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-14 10:05:21 -04:00
Pedro Pinto
1100d8e1cd
Added event it so sniper shots.
2020-10-14 10:00:46 -04:00
Taha Afzal
18bcd7e911
fixing the merge 2
2020-10-13 14:10:03 -04:00
Taha Afzal
5a4e3f5acc
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-13 13:25:58 -04:00
Taha Afzal
efacf2986f
fixing merge conflict
2020-10-13 13:25:52 -04:00
Pedro Pinto
1f6255f751
Another broken build, I hope no one is watching
2020-10-13 13:16:01 -04:00
Taha Afzal
79d03c73d7
Added some more n_contracts, symbol, ticks to sniper output
2020-10-13 12:56:09 -04:00
Pedro Pinto
2905a80138
Massively improved memory usage for simulations.
2020-10-13 11:56:56 -04:00
Pedro Pinto
5cbab11310
Fixed the build, sorry.
2020-10-13 11:06:10 -04:00
Pedro Pinto
51edfb5d61
Improved performance, reduced memory usage in simulation.
2020-10-13 10:44:43 -04:00
Pedro Pinto
7324c160f8
Reduced logging.
2020-10-13 10:44:23 -04:00
Pedro Pinto
cb6f67f689
Avoided copying events.
2020-10-13 08:52:37 -04:00
Pedro Pinto
6cfd1cd070
Added better logging of polygon opportunities.
2020-10-13 08:24:32 -04:00
Pedro Pinto
d732b7d691
Added better dimenionsing of shot to Sniper.
2020-10-13 08:23:55 -04:00
Pedro Pinto
588319478e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-12 21:26:47 -04:00
Pedro Pinto
814b9f810b
Added polygon opportunities logging to sql command.
2020-10-12 21:26:02 -04:00
John Colvin
f41f2e5d55
add 'on_order_completed' and 'reset' method placeholders to FifoSecurityMatcher
2020-10-12 15:31:59 -05:00
John Colvin
4d592b1c3b
fix FifoSecurityMatcher::book_level (skip empty levels)
2020-10-12 13:52:53 -05:00
Pedro Pinto
1a1de31457
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-12 10:15:12 -04:00
Pedro Pinto
38b800981b
Tweaks to queries.
2020-10-12 10:14:36 -04:00
Pedro Pinto
89ef56f131
Naming polygons in the SQL DB.
2020-10-12 10:13:45 -04:00
Taha Afzal
2400f5b91c
Function for John to be used for implied matching
2020-10-11 18:31:27 -04:00
Taha Afzal
85c3ba0fa3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-11 10:34:53 -04:00
John Colvin
c6822be685
add 'fill' method placeholder to FifoSecurityMatcher
2020-10-10 23:09:57 -04:00
Pedro Pinto
cb81b0e53e
Cleaned up DB.
2020-10-10 18:32:27 -04:00
Taha Afzal
180d776929
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-10 15:45:12 -04:00
Pedro Pinto
332f98b3a7
Fixed non deterministic order for events.
2020-10-10 12:44:23 -04:00
Taha Afzal
08a65a290d
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-10 11:59:02 -04:00
Pedro Pinto
8bb5301fbb
Not sure how I messed this up.
2020-10-10 11:58:06 -04:00
Taha Afzal
51d402fbd5
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-10 10:29:11 -04:00
Taha Afzal
6e5f2f1a49
Added better logging in Matcher
2020-10-10 10:29:05 -04:00
Pedro Pinto
3a73b6cb9e
Changed sniper, md
2020-10-10 10:15:09 -04:00
Pedro Pinto
64f35f869e
Re-enabled sniper.
2020-10-09 14:50:04 -04:00
Pedro Pinto
67d9758ad2
Sped up matching.
2020-10-09 14:15:28 -04:00
Pedro Pinto
bcf4a04409
Disabled sniper, added logging to report sim progress.
2020-10-09 11:43:03 -04:00
Pedro Pinto
3be5afc08b
Fixed some sniper bugs.
2020-10-09 10:31:47 -04:00
Pedro Pinto
637a8f1efc
Added progress logging to simulation.
2020-10-09 10:31:31 -04:00
Pedro Pinto
00f9c9ec2e
Fixed utility.
2020-10-09 10:31:11 -04:00
Pedro Pinto
722750faeb
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-09 08:12:57 -04:00
Taha Afzal
74d10749b7
Bug where orders changing levels and getting completely filled were not marked as inactive
2020-10-08 23:38:05 -04:00
Pedro Pinto
9dd96b05e2
Better logging.
2020-10-08 17:10:25 -04:00
Taha Afzal
e927b35586
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-08 14:31:26 -04:00
Taha Afzal
e1fb9319a0
better error checking and validation in the matcher
2020-10-08 14:31:19 -04:00
Pedro Pinto
684b7d54b6
Fixed incorrect qty parameterization
2020-10-08 14:25:42 -04:00
Pedro Pinto
925997947f
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-08 14:09:10 -04:00
Pedro Pinto
dcbd86c1f5
Updated cpp reference data, improved polygon discovery
2020-10-08 14:08:58 -04:00
Taha Afzal
2f45ee3fe3
validation of incoming OrderChange
2020-10-08 13:26:18 -04:00
Pedro Pinto
0d4888111d
Merged
2020-10-08 11:50:19 -04:00
Pedro Pinto
a062dbe321
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-08 11:48:12 -04:00
Pedro Pinto
6ab0824532
Added polygon descriptors
2020-10-08 11:23:21 -04:00
Taha Afzal
385de5108e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-08 11:08:05 -04:00
Taha Afzal
c25310c491
assert for correct OrderUpdate state
2020-10-08 11:07:58 -04:00
Pedro Pinto
0fb6bc72a4
Merge remote-tracking branch 'refs/remotes/origin/spartan_tas' into spartan_tas
2020-10-08 10:43:39 -04:00
Pedro Pinto
88039a4c83
Refactored PandL facilties.
2020-10-08 10:43:24 -04:00
Taha Afzal
fd1ac28302
clean up period changed
2020-10-08 09:25:38 -04:00
Pedro Pinto
e8c6a2ad1c
Re-enabled run_sim command.
2020-10-07 18:08:30 -04:00
Pedro Pinto
1ee21c8d3e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-07 18:07:08 -04:00
Pedro Pinto
c5388b07f9
code complete for sim logging.
2020-10-07 18:06:46 -04:00
Taha Afzal
a165d6d193
Moved MatcherOrder in common
2020-10-07 14:16:58 -04:00
Taha Afzal
77f02d81d5
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-07 12:46:34 -04:00
Taha Afzal
fc8620939f
speed up
2020-10-07 12:46:13 -04:00
Pedro Pinto
d319c7ddb8
Fixed build.
2020-10-06 16:10:30 -04:00
Pedro Pinto
24df444584
Driving the simulator across days and parameter variations.
2020-10-06 16:08:33 -04:00
Pedro Pinto
6984676e7f
Towards orchestration of simulator runs.
2020-10-06 10:56:40 -04:00
Pedro Pinto
6356cf68f8
Added a field to instrumentdefinition.
2020-10-05 13:13:53 -04:00
Pedro Pinto
8ef76590a1
Many changes related to sniper simulation.
2020-10-05 11:57:20 -04:00
Taha Afzal
724eea5403
Added cancel perf test
2020-10-03 22:18:31 -04:00
Pedro Pinto
96cf8dcfac
Added better pnl
2020-10-02 11:27:11 -04:00
Pedro Pinto
5add27a107
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-02 11:12:09 -04:00
Pedro Pinto
2683bb6c34
Re-enabled P&L
2020-10-02 11:12:00 -04:00
Taha Afzal
8bdce09aec
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-02 11:01:56 -04:00
Taha Afzal
a732e926a9
Speed improvements, plus missing sec in execution report filled
2020-10-02 11:01:49 -04:00
Pedro Pinto
2fdec04336
Fixed build.
2020-10-02 10:19:25 -04:00
Pedro Pinto
3199689772
Temporarily disabled display factor adjustment until we have secs in fills.
2020-10-02 10:15:47 -04:00
Pedro Pinto
69efd022bd
Fixed P&L calculation for algos.
2020-10-02 10:14:31 -04:00
Pedro Pinto
1604beb3f8
More refactoring. More to come.
2020-10-02 07:25:34 -04:00
Pedro Pinto
0ad57ef290
Fixed build.
2020-10-02 07:08:47 -04:00
Pedro Pinto
376c250802
Refactored.
2020-10-02 07:06:32 -04:00
Pedro Pinto
cf1191bf0a
Refactoring
2020-10-02 06:46:42 -04:00
Pedro Pinto
e1a8870dda
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-01 10:33:42 -04:00
Pedro Pinto
7991b8e8bd
Improved output
2020-10-01 10:33:20 -04:00
Taha Afzal
198d52eca1
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-10-01 10:24:19 -04:00
Taha Afzal
707c8fbd41
Fixed the side in the matcher execution report
2020-10-01 10:24:13 -04:00
Pedro Pinto
299bf7b4da
Sniper is sniping. We are going to be simulated millionaires.
2020-10-01 09:38:00 -04:00
Pedro Pinto
1fb1af7132
First run of the simulator.
2020-09-30 17:17:57 -04:00
Pedro Pinto
ce2a6d3b2f
Sped up sim runs by caching simulator inputs.
2020-09-30 14:41:22 -04:00
Pedro Pinto
271e14ae5b
Cleaned up polygon generation.
2020-09-30 09:51:40 -04:00
Pedro Pinto
110af7795e
Cleaned up simulator input generation.
2020-09-30 08:25:33 -04:00
Pedro Pinto
617b4e2bba
Added polygons to SQL DB.
2020-09-29 14:35:06 -04:00
Pedro Pinto
5f9705cbdb
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-29 13:50:23 -04:00
Pedro Pinto
54333ccb7b
Improved polygon detection speed and correctness.
2020-09-29 13:39:02 -04:00
Taha Afzal
5049212af5
FifoMatcher can optionally ignore internally matched orders
2020-09-29 12:53:21 -04:00
Taha Afzal
a5a1f87528
Moved the matcher tests into its own file
2020-09-29 11:09:42 -04:00
Taha Afzal
f83d57fc0c
Spreader tests pass while sending orders to sim
2020-09-28 21:32:19 -04:00
Pedro Pinto
e2f4fc83a2
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-28 15:03:12 -04:00
Pedro Pinto
2bb246262c
Refactored to modularize pcap queries. Added pcap polygon generation cmd.
2020-09-28 15:02:12 -04:00
Taha Afzal
ed3cc43e59
Fixed the first ack issue
2020-09-28 14:04:36 -04:00
Taha Afzal
4c505f58c5
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-27 22:27:25 -04:00
Taha Afzal
47ac6c5dd3
tests for the spreader bridge
2020-09-27 22:26:48 -04:00
Pedro Pinto
e889d0835f
Added views to md.sql, documented better.
2020-09-26 12:08:36 -04:00
Pedro Pinto
01ce2211f3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-26 11:53:16 -04:00
Pedro Pinto
ffc39be466
Added polygon generation.
2020-09-26 11:52:55 -04:00
Taha Afzal
dcfada0b81
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-24 14:26:16 -04:00
Taha Afzal
ee03de52b7
Events were not getting passed back to the spreader
2020-09-24 14:26:03 -04:00
Pedro Pinto
2fc3a797eb
Fixed bug in import.
2020-09-24 12:06:32 -04:00
Pedro Pinto
419dc355e3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-24 08:37:26 -04:00
Pedro Pinto
ec994a93e7
Fixed bug in CSV generation.
2020-09-24 08:36:58 -04:00
Taha Afzal
679330ba53
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-24 00:21:53 -04:00
Taha Afzal
87d0f93043
spreader ready to go with sim
2020-09-24 00:21:43 -04:00
Pedro Pinto
7e85f390b3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-23 18:02:52 -04:00
Pedro Pinto
ef18b37fd3
Added additional security info to sqlite.
2020-09-23 18:02:24 -04:00
Taha Afzal
ef016bfafc
SpreaderChildOrderUpdate takes a side arg to work better with IAlternateOrderGateway
2020-09-23 17:48:50 -04:00
Taha Afzal
9824ef7686
Added order indirection interface
2020-09-23 12:37:27 -04:00
Taha Afzal
2f21e73d8d
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-22 11:24:01 -04:00
Taha Afzal
22f4a7a324
order bridge bw spark and spartan has one link remaining
2020-09-22 11:23:50 -04:00
Pedro Pinto
6bf4966fb3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-22 11:17:08 -04:00
Pedro Pinto
0e552bbcad
Improved order deduction. Improved iceberg deduction.
2020-09-22 11:15:08 -04:00
Taha Afzal
4a6b14caa4
Merging
2020-09-21 14:40:31 -04:00
Taha Afzal
519d08cb78
Interfacing sim with spreader 60-70% done
2020-09-21 14:31:32 -04:00
Pedro Pinto
e89b4206f9
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-21 14:05:21 -04:00
Pedro Pinto
4adbe82e1e
Simulator is code complete.
2020-09-21 11:24:21 -04:00
Pedro Pinto
18b7f71020
More simulator framework.
2020-09-21 09:27:13 -04:00
Taha Afzal
86e631ae3e
Calling spreader's initialization functions from SimSpreader
2020-09-19 17:22:20 -04:00
Taha Afzal
87bc9b2d25
SimSpreader and some cleanup
2020-09-18 23:49:32 -04:00
Pedro Pinto
c7b65ac062
Added simulator framework.
2020-09-18 14:22:14 -04:00
Taha Afzal
cb07fc1cb7
Cleaning up FIFO
2020-09-17 11:37:18 -04:00
Taha Afzal
5f489a33f7
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-16 14:49:56 -04:00
Taha Afzal
a22e3efb64
Filling in matcher
2020-09-16 14:49:51 -04:00
Pedro Pinto
fc51a03a70
Fixed estimation of iceberg order to take into account fill status.
2020-09-14 17:16:13 -04:00
Pedro Pinto
090a9dfb17
Added iLink3 documentation.
2020-09-14 12:02:37 -04:00
Taha Afzal
ad5000d835
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-14 10:11:21 -04:00
Taha Afzal
abd1651034
Events causing IB issues added list of traced events
2020-09-14 10:11:15 -04:00
Pedro Pinto
8d94794cdb
Added the hability to run the simulator across multiple channels.
2020-09-13 15:53:58 -04:00
Pedro Pinto
ab6ffebe20
Simulator is code complete.
2020-09-11 18:59:00 -04:00
Pedro Pinto
0698aa90b3
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-11 08:19:17 -04:00
Pedro Pinto
00deda50ec
Fixed fifo validation, more refactoring of sim
2020-09-11 08:18:59 -04:00
Taha Afzal
c914d97376
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-10 12:46:37 -04:00
Taha Afzal
b574de32ae
facility for fifo to ignore events, plus log a mismatch istead of asserting
2020-09-10 12:46:31 -04:00
Pedro Pinto
ab6be7624e
Added allowance for self match prevention when deducing orders
2020-09-10 10:56:52 -04:00
Pedro Pinto
300ba5a16e
Skipped bad events.
2020-09-10 08:53:47 -04:00
Taha Afzal
9da7784b1b
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-09 19:40:50 -04:00
Pedro Pinto
8b2046a4c4
Skiped first 40K events in fifo validation, for speed
2020-09-09 17:45:07 -04:00
Pedro Pinto
a5b9e40b53
Skipped open when testing fifo
2020-09-09 17:40:57 -04:00
Pedro Pinto
6c6dd86c02
More refactoring of sim.
2020-09-09 16:42:55 -04:00
Taha Afzal
109a12412a
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-09 14:06:07 -04:00
Taha Afzal
10edd13593
Log adjustments again
2020-09-09 14:06:01 -04:00
Pedro Pinto
d7014ce172
Better deduced order detection, refactored sim
2020-09-09 13:47:28 -04:00
Pete Fisher
27aa43f44d
fixed time on ilink2 audit
2020-09-09 12:16:57 -04:00
Pedro Pinto
19e087aa69
Fixed time reporting in iLink3.
2020-09-09 10:58:34 -04:00
Taha Afzal
899218ccf6
Moving MatchingCommon to the new matching directory
2020-09-09 10:41:41 -04:00
Taha Afzal
5fbd5b8804
Fixing merge conflict
2020-09-09 10:35:14 -04:00
Taha Afzal
8a564c38e9
More selective logging to catch the offending orders
2020-09-09 10:13:04 -04:00
Pedro Pinto
5758b56296
Improved iceberg detection
2020-09-09 10:00:52 -04:00
Pedro Pinto
da8c8c271a
Merged
2020-09-08 11:59:38 -04:00
Pedro Pinto
26a0508e03
Simulator in progress.
2020-09-08 11:55:45 -04:00
Taha Afzal
80294f9f37
Fixing merge
2020-09-08 10:19:31 -04:00
Taha Afzal
c408825a8d
better logging to trace down specific orders
2020-09-08 10:09:29 -04:00
Pedro Pinto
5cdc4f5a66
Flushing out simulator.
2020-09-07 14:41:23 -04:00
Pedro Pinto
d5bc1a0acb
Tweaked test.
2020-09-07 14:41:08 -04:00
Pedro Pinto
0f8ae1e345
Refactored simulator names, structure.
2020-09-07 09:03:58 -04:00
Pedro Pinto
6bcd13f30c
Added generation of sim input.
2020-09-04 14:14:38 -04:00
Pedro Pinto
a330ecf24d
Skipped icebergs in FIFO validation.
2020-09-04 10:34:19 -04:00
Pedro Pinto
8df3bf38cd
Cleaned up sqlite file generation.
2020-09-04 08:32:00 -04:00
Pedro Pinto
9e1f72df94
Added a SQL command that generates a SQL DB from a pcap.
2020-09-03 21:01:49 -04:00
Pedro Pinto
b615a6105a
Added to md.sql documentation.
2020-09-03 11:50:30 -04:00
Pedro Pinto
5c9595f4a6
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-03 11:46:57 -04:00
Pedro Pinto
efa8aa297d
Working Sim.
2020-09-03 11:46:44 -04:00
Taha Afzal
47b45d2a53
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-09-03 11:39:20 -04:00
Taha Afzal
cf3eae1311
added comments to the columns in the sql script
2020-09-03 11:39:01 -04:00
Pedro Pinto
f197077e78
Ran clang-format on spartan.
2020-09-03 10:33:19 -04:00
Pedro Pinto
0240be755a
Added icebergs
2020-09-02 15:58:09 -04:00
Pedro Pinto
0c69024f7a
Added Icebergs to CVS output.
2020-09-02 15:30:40 -04:00
Pedro Pinto
15be25a382
Added helper in FIFO matcher.
2020-09-02 11:18:45 -04:00
Pedro Pinto
3047cc2570
Included priorIty In deduced order, why not.
2020-09-02 11:18:26 -04:00
Pedro Pinto
4369cb61fe
Cleaned up debug output
2020-09-02 09:29:16 -04:00
Pedro Pinto
04c4674582
Improved diagnostics.
2020-09-02 09:26:44 -04:00
Pedro Pinto
504ef84da3
Better diagnostic
2020-09-01 17:27:26 -04:00
Pedro Pinto
8cc564da96
Merged
2020-09-01 17:13:47 -04:00
Pedro Pinto
2abc69fd7c
Fixed a bug in deducing orders, improved output.
2020-09-01 17:06:44 -04:00
Taha Afzal
87d0498c23
Improved the on_same_orders return message
2020-09-01 16:34:32 -04:00
Taha Afzal
ecb3893370
Fixing merge conflict
2020-09-01 14:21:49 -04:00
Taha Afzal
f974d90eaa
FifoSecurityMatcher::on_same_orders now returns an optional<string>
2020-09-01 13:40:27 -04:00
Pedro Pinto
6a4e06873b
Added diagnostics, fixed order priority insertion
2020-09-01 11:02:17 -04:00
Taha Afzal
3b235efd3f
Changing Info logging to Diag
2020-08-31 16:21:20 -04:00
Taha Afzal
2f8436e131
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-31 16:17:16 -04:00
Taha Afzal
e801951820
More logging
2020-08-31 16:17:11 -04:00
Pedro Pinto
2b61e65bf5
Added seamless XZ decompression on any spartan cmd.
2020-08-31 10:45:31 -04:00
Pedro Pinto
f5fe552cd9
Working on adding seamless decompression.
2020-08-31 08:00:41 -04:00
Taha Afzal
6b529d0f7e
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-29 23:54:58 -04:00
Taha Afzal
4c3ad827c5
fixed bug, more logs, ahdered to new IB in MDP3Quantity
2020-08-29 23:54:47 -04:00
Pedro Pinto
6b09e18948
Referenced iml.
2020-08-28 15:50:43 -04:00
Pedro Pinto
9103a00f20
cleaned up slightly
2020-08-28 13:46:04 -04:00
Pedro Pinto
7a7588f8d9
Changed the fifo matcher harness
2020-08-28 13:44:12 -04:00
Pedro Pinto
7ee0068ff0
Added inital harness to test fifo.
2020-08-28 12:01:06 -04:00
Pedro Pinto
9b586b2ae2
Better documentation.
2020-08-28 10:38:05 -04:00
Pedro Pinto
09f7879c83
Comment in SQL.
2020-08-28 10:35:32 -04:00
Pedro Pinto
d80e27f989
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-27 12:04:17 -04:00
Pedro Pinto
45f9e53f10
Fixed deduced orders, iceber orders.
2020-08-27 12:03:26 -04:00
Taha Afzal
e2d11cb59b
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-27 10:41:20 -04:00
Taha Afzal
d0b923339d
fixed cross IB test (bug was in the test)
2020-08-27 10:41:09 -04:00
Pedro Pinto
9deb6182d0
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-27 08:27:37 -04:00
Pedro Pinto
4c4e870c67
Merge branch 'master' into spartan_tas
2020-08-27 08:24:01 -04:00
Pedro Pinto
167c8c23a0
Fixed batching of orders under iLink3.
2020-08-27 08:19:47 -04:00
Pedro Pinto
3f3b481654
Merged
2020-08-26 11:21:40 -04:00
Pete Fisher
0fa870ea40
added MJF
2020-08-26 11:05:15 -04:00
Pedro Pinto
2b3b551898
Merged
2020-08-26 11:03:15 -04:00
Pedro Pinto
ad4d97c17e
Tweaked IB struct.
2020-08-26 08:29:09 -04:00
Taha Afzal
c941105502
IB cross order
2020-08-25 19:24:16 -04:00
Taha Afzal
174743cdb6
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-25 13:44:48 -04:00
Taha Afzal
a752ad0cbc
fixed bug with iceberg filling
2020-08-25 13:44:43 -04:00
Pedro Pinto
477e33eb81
Merged
2020-08-25 13:39:56 -04:00
Pedro Pinto
052268f052
Better json printing, faster processing on sec status change, progress in iceberg detection.
2020-08-25 13:37:43 -04:00
Taha Afzal
27294f125d
iceberg test
2020-08-25 11:39:19 -04:00
Pete Fisher
d235f4be41
fixed jetfix.conf ports on relay
2020-08-25 10:03:09 -04:00
Pete Fisher
e80c634bd1
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-25 09:01:28 -04:00
Pete Fisher
37f33778e1
fixed jetfix.conf
2020-08-25 09:01:13 -04:00
Taha Afzal
c540fdd11f
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-24 23:17:14 -04:00
Taha Afzal
e7f9e98f0a
Resting IB matching engine completed
2020-08-24 23:17:05 -04:00
Taha Afzal
253586fc79
Iceberg reloading
2020-08-24 20:40:11 -04:00
Pedro Pinto
ec43dbd82d
Maybe fixed the self match prevention problem.
2020-08-24 17:02:58 -04:00
Pedro Pinto
f07998d6a6
Fixed order rounding error in ilink3
2020-08-24 16:17:31 -04:00
Pedro Pinto
9d0c99a17b
Richer console logging
2020-08-24 16:16:11 -04:00
Pedro Pinto
58992eb893
Changed logging subsystem from ilink3 to iLink3
2020-08-24 16:16:11 -04:00
Pete Fisher
a471670a91
added audit log scripts to be run by the docker container
2020-08-24 16:15:27 -04:00
Pete Fisher
96e1d25ca4
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-24 15:22:54 -04:00
Pete Fisher
d4bb88dbfe
added jetfix going to cert relay
2020-08-24 15:21:45 -04:00
Taha Afzal
bbc2277bae
Order's exchange priority need not be kept around
2020-08-24 12:25:14 -04:00
Taha Afzal
d54861a9d0
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-24 12:02:18 -04:00
Taha Afzal
a5d98a32b6
Iceberg related changes
2020-08-24 12:01:59 -04:00
Pedro Pinto
b3dc2cdcd4
Changed logging subsystem from ilink3 to iLink3
2020-08-24 11:06:44 -04:00
Pedro Pinto
a2ea2239da
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-24 08:37:41 -04:00
Pedro Pinto
5e56a66171
Multiple improvements.
2020-08-24 08:37:08 -04:00
Taha Afzal
fa0674a657
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-21 23:23:36 -04:00
Taha Afzal
2eb2b07f8f
fixed bug with sweeps
2020-08-21 23:23:26 -04:00
Taha Afzal
b7f15986ad
tests for order remove/modify and its affects on the book
2020-08-21 18:49:00 -04:00
Pedro Pinto
3e0cdde714
Corrected how we handle security tradus status changes.
2020-08-21 17:49:12 -04:00
Pedro Pinto
3334f1b709
A few more tweaks.
2020-08-21 17:49:12 -04:00
Taha Afzal
29e080da71
remove tests
2020-08-21 16:18:24 -04:00
Taha Afzal
927cd60d41
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-21 12:15:56 -04:00
Pedro Pinto
7c5cb5b7f7
Updated csv generation to include implied matching status.
2020-08-21 12:13:23 -04:00
Taha Afzal
9f84f7215c
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-21 12:09:45 -04:00
Taha Afzal
14fd296aa2
some iceberg adjustments, and more tests
2020-08-21 12:09:32 -04:00
Pedro Pinto
470f94f6e1
Added support for implied matching status.
2020-08-21 11:48:33 -04:00
Pedro Pinto
9bfd33320e
More changes to instrument definition. C++ continues to mistify.
2020-08-21 10:33:48 -04:00
Pedro Pinto
f7a2693952
Cleaned up instrument definition.
2020-08-21 09:28:44 -04:00
Pedro Pinto
d573447d64
Added method to visit security
2020-08-21 09:03:47 -04:00
Pedro Pinto
ccd7d29501
Fixed some bugs in cvs export
2020-08-21 01:00:10 -04:00
Pedro Pinto
291699fb9b
Added books to CSV output.
2020-08-21 00:22:36 -04:00
Pedro Pinto
056e0f8aa7
Removed debug break
2020-08-20 17:25:44 -04:00
Pedro Pinto
45ed583d46
Fixed a few bugs, made it possible to stream through a pcap once only
2020-08-20 17:13:52 -04:00
Pedro Pinto
54a2131b20
Fixed typo.
2020-08-20 12:01:51 -04:00
Taha Afzal
a4bbb6c88b
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-20 10:59:02 -04:00
Taha Afzal
e6c2ceb931
tests for single price level
2020-08-20 10:58:57 -04:00
Pedro Pinto
c43ec4a56d
Added script to easily compress pcaps.
2020-08-20 10:43:58 -04:00
Pedro Pinto
b871cc4e09
Cleaned up code.
2020-08-20 09:25:38 -04:00
Pedro Pinto
6aec729b6a
Added prettier logging when observing spartan pcaps
2020-08-19 21:16:54 -04:00
Pedro Pinto
025625e0b9
Simplified console logging
2020-08-19 21:15:40 -04:00
Pete Fisher
0963aee137
added audit log scripts to be run by the docker container
2020-08-19 17:49:47 -04:00
Pedro Pinto
5c5bc243d2
Added new spartan command to clean up pcaps to just what we need.
2020-08-19 16:29:49 -04:00
Taha Afzal
0d0af32b85
Merge branch 'spartan_tas' of bitbucket.org:bluetradesys/spark into spartan_tas
2020-08-19 14:30:17 -04:00
Taha Afzal
46c2d2e916
cleaning
2020-08-19 14:30:10 -04:00
Taha Afzal
ff6d0f0e1b
cleaning up, fixing the sorting of prices
2020-08-19 14:14:40 -04:00
Pedro Pinto
86ca092f18
Fixed bug that was preventing import of oil data.
2020-08-18 13:06:58 -04:00
Pedro Pinto
ec3d642cee
Better export to CSV.
2020-08-18 10:58:42 -04:00
Pedro Pinto
7489d70c95
Added some sql tools, added order deduction
2020-08-18 07:51:16 -04:00
Pedro Pinto
81bb5404cb
Merged
2020-08-18 07:50:59 -04:00
Taha Afzal
a0155beb83
Fifo Matching Engine
2020-08-18 00:02:10 -04:00
Pedro Pinto
c2f8e92b10
Hopefully fixed the ilink3 filled qty reporting problem.
...
This was crashing the spreader.
2020-08-13 08:42:43 -04:00
Pedro Pinto
7ae0142dff
Fixed reset of sequence numbers problem
2020-08-12 11:56:08 -04:00
Taha Afzal
780b74fc56
Basic scaffolding plus price level match
2020-08-11 20:09:09 -04:00
Pedro Pinto
78bc14348d
Miscelaenous improvements.
2020-08-10 13:46:59 -04:00
Pedro Pinto
52bc0f1a17
Better spelling.
2020-08-09 17:24:55 -04:00
Pedro Pinto
c52c24c3f2
Fixed some more issues. Everything looks good now.
2020-08-09 17:06:53 -04:00
Pedro Pinto
0d9277bf6a
Added test file, discovered feeds automatically.
2020-08-08 16:32:54 -04:00
Pedro Pinto
761797dc24
Fixed a few more bugs.
2020-08-07 20:32:31 -04:00
Pedro Pinto
39a560c394
Fixed a couple more serious bugs.
2020-08-07 14:15:04 -04:00
Pedro Pinto
b4f01da8d8
Added print.
2020-08-07 13:13:33 -04:00
Pedro Pinto
f7ca1efdb8
Fixed a number of bugs.
2020-08-07 13:08:51 -04:00
Pedro Pinto
1b4ed339d6
More bugs, more fixes.
2020-08-06 12:20:00 -04:00
Pedro Pinto
5af89e0124
Fixed a few more bugs.
2020-08-06 12:11:58 -04:00
Pedro Pinto
1fddbf1cca
More tests, more fixes.
2020-08-06 08:58:10 -04:00
Pedro Pinto
1cd1a23c80
Added a unit test and fixed some bugs.
2020-08-05 11:22:09 -04:00
Pedro Pinto
b987ec6a8a
Added a smoke test for MD.
2020-08-04 17:28:17 -04:00
Pedro Pinto
f509026815
Code complete on MD.
2020-08-04 17:13:48 -04:00
Pedro Pinto
557b658146
Almost done.
2020-08-04 16:54:00 -04:00
Pedro Pinto
e3c4960622
Fixed build.
2020-08-04 08:32:42 -04:00
Pedro Pinto
350b4307dc
Refactor.
2020-08-03 20:59:54 -04:00
Pedro Pinto
762ca47a59
Refactored.
2020-08-03 20:47:25 -04:00
Pedro Pinto
79b83ba494
Refactored.
2020-08-03 20:47:04 -04:00
Pedro Pinto
51f5155a1a
Removed obsolete code.
2020-08-03 20:42:53 -04:00
Pedro Pinto
d0b3124813
Recovery complete.
2020-08-03 20:36:42 -04:00
Pedro Pinto
29128dd014
Almost code complete.
2020-08-03 18:15:46 -04:00
Pedro Pinto
9e8f5809c3
Starting work on integrating recovery with realtime processing.
2020-08-03 11:11:06 -04:00
Pedro Pinto
7e2001744c
More refactoring.
2020-08-03 09:43:51 -04:00
Pedro Pinto
f5b83efade
Incremental Queue completed.
2020-08-02 16:22:57 -04:00
Pedro Pinto
aedb9d2ae1
Refactored for consistency.
2020-08-02 16:10:54 -04:00
Pedro Pinto
5ccd28d84d
Refactored.
2020-08-01 20:38:53 -04:00
Pedro Pinto
3320888fc8
Instrument defintion copy.
2020-07-30 17:16:35 -04:00
Pedro Pinto
456e9bf357
Finished real time feed processor.
2020-07-30 16:11:35 -04:00
Pedro Pinto
275a757eb7
Finished up InstrumentSnapshot.
2020-07-30 10:32:10 -04:00
Pedro Pinto
d51d170891
Lots of progress on real time feed processing
2020-07-29 13:22:34 -04:00
Pedro Pinto
87d138740f
More refactoring and tools.
2020-07-27 08:45:18 -04:00
Pedro Pinto
625f165a63
Life-time management bug, one & cost a whole day.
2020-07-24 18:13:56 -04:00
Pedro Pinto
8421ed0ae9
Small changes.
2020-07-24 18:13:39 -04:00
Pedro Pinto
2a03eb323d
Initial tests run.
2020-07-21 12:08:27 -04:00
Pedro Pinto
cac6a9cd53
Refactoring.
2020-07-20 09:38:22 -04:00
Pedro Pinto
a148b8fdcb
More recovery work.
2020-07-20 08:29:18 -04:00
Pedro Pinto
d635e8a978
Getting close to recovery.
2020-07-17 20:16:57 -04:00
Pedro Pinto
7aadd38934
More refactoring.
2020-07-17 08:52:46 -04:00
Pedro Pinto
b63b11982b
Refactoring.
2020-07-15 12:24:01 -04:00
Pedro Pinto
88a4d2ed80
Crazy template stuff.
2020-07-12 16:40:08 -04:00
Pedro Pinto
26bdef7ddd
Merged with master
2020-07-11 12:30:06 -04:00
Pedro Pinto
db0ffba8ed
Fixed windows build
2020-07-10 13:00:20 -04:00
Pedro Pinto
a274a214b4
Merged with master
2020-07-10 11:31:47 -04:00
Pedro Pinto
bbcfa3c75a
merged with prod
2020-07-10 10:45:10 -04:00
Pedro Pinto
89229d65f1
Merge branch 'master' of bitbucket.org:bluetradesys/spark
2020-07-10 10:43:34 -04:00
Pedro Pinto
0e75cde409
Fixed a bad asser in recovery, a few typos, haderned against bad securities.
2020-07-10 10:36:03 -04:00
Pedro Pinto
42fa6dfaff
Fixed life cycle of exe reports and config during replay.
2020-07-09 16:06:39 -04:00
Pedro Pinto
400143c84d
Protected against ticker subs for expired securities.
2020-07-09 14:45:51 -04:00
Pedro Pinto
e915945880
Trying to replay fix logs.
2020-07-09 14:27:22 -04:00
Taha Afzal
ca6673e98f
Merge branch 'prod'
2020-07-09 13:09:57 -04:00
Taha Afzal
479f3dccff
Adding OnSignal (this is a new algo which is hidden by default)
2020-07-09 13:07:28 -04:00
Pedro Pinto
9601ebab20
Adding replay of stored messages.
2020-07-09 10:16:31 -04:00
Taha Afzal
c272d8a8c2
Pyramid Algo: Takes care of the rounding error when Top == sum (child orders)
2020-07-08 13:35:21 -04:00
Pedro Pinto
b344ab3377
Fixed an issue with order recovery from Exec reports.
2020-07-08 12:07:48 -04:00
Pedro Pinto
ae3080b031
Refactoring.
2020-07-08 10:10:14 -04:00
Pedro Pinto
f0464331cb
Added better handling of cancel rejects.
2020-07-08 09:52:18 -04:00
Pedro Pinto
0648b618bf
Refactored.
2020-07-08 08:42:53 -04:00
Pedro Pinto
59282b8c70
Added one more test to manual order entry list.
2020-07-08 08:42:18 -04:00
Pedro Pinto
34a86009ce
Doc and tool minor update.
2020-07-08 07:44:01 -04:00
Pedro Pinto
0ad9ae9001
Small tweak to logging tool.
2020-07-07 20:19:59 -04:00
Pedro Pinto
a296e1e772
Fixed parsing of stop px in link3.
2020-07-07 20:19:41 -04:00
Pedro Pinto
7f53d8b161
Improved logging, fix iceberg order, removed duplicate logging.
2020-07-07 17:01:24 -04:00
John Colvin
fbd8bbd4a8
algo abbreviation code uses string.Join instead of list_string (the latter method is redundant, should be removed)
2020-07-07 13:16:18 -05:00
John Colvin
3da52b350f
fix pure crash (algo abbreviation code choked on names that end with a space)
2020-07-07 13:15:55 -05:00
Pedro Pinto
243d6827d4
Merge remote-tracking branch 'refs/remotes/origin/ilink3_final' into ilink3_final
2020-07-07 12:12:09 -04:00
Pedro Pinto
00221f9bd9
Fixed spread order entry.
2020-07-07 12:11:11 -04:00
Pedro Pinto
a6171ae405
Fixed spread order entry.
2020-07-07 11:55:05 -04:00
Pedro Pinto
be5d01a797
Fixed fills.
2020-07-07 06:47:58 -04:00
Pedro Pinto
e5d9d324bf
Order order entry manual test.
2020-07-06 18:22:39 -04:00
Pedro Pinto
c34dee9d96
Taked order status from execution report, parse error message in il3
2020-07-06 18:21:44 -04:00
Pedro Pinto
e5a98aab41
Merged with master
2020-07-06 12:49:24 -04:00
Pedro Pinto
10cd35372b
Can enter, modify, cancel orders.
2020-07-06 11:38:17 -04:00
Pedro Pinto
ad4515be39
Renamed NativeOrder to GLBXNativeOrder
2020-07-06 09:47:34 -04:00
Pedro Pinto
ff4d87dd6b
Fixed IL3 execution report parser to convert exchange prices.
2020-07-06 09:34:26 -04:00
Pedro Pinto
8ddde3f9da
Part 2 of MBO service fix.
2020-07-06 09:34:09 -04:00
Pedro Pinto
51093dc3a5
Added simple tool to watch spark logs.
2020-07-06 09:33:35 -04:00
Pedro Pinto
5d5db9ad9f
Fixed MBO parser to extract the right exchange key.
2020-07-06 09:33:06 -04:00
Pedro Pinto
fca808fe0d
Made ilink3 gw wait for start() before its starts.
2020-07-03 14:11:22 -04:00
Pedro Pinto
07d14f877b
More nonsense
2020-07-02 20:28:49 -04:00
Pedro Pinto
5ea6dccdd4
Something here breaks
2020-07-02 19:04:49 -04:00
Pedro Pinto
ac956a5c02
Renamed ExchangeOrderIDu64 to ExchangeOrderID64
2020-07-02 19:00:32 -04:00
Pedro Pinto
1fba09cf94
Refactor of ids.
2020-07-02 11:05:04 -04:00
Pedro Pinto
0baa6b875e
Fixed merge error.
2020-07-02 09:09:20 -04:00
Pedro Pinto
cdacc2d4d4
Merged
2020-07-02 07:26:43 -04:00
Pedro Pinto
1433541947
Automatically advanced our own seq number on connection failure.
...
It is fairly easy for our sequence number to be behind CME if we
crash. Since we can detect this issue (CME tells us about it) we can
try to fix it automatically by incrementing our own sequence
number. This should allow us to recover automatically in some
scenarios.
2020-07-02 06:57:01 -04:00
Pedro Pinto
1070ca7ace
Ran clang-format.
2020-07-02 06:28:32 -04:00
Pedro Pinto
56fa27dd7e
Handled non text timestamp in native order.
2020-07-02 06:23:07 -04:00
Pedro Pinto
d87b522bc6
Added better logging when terminated by exchange.
2020-07-02 06:22:38 -04:00
Eric Harding
166cb03782
Provide account when parsing execution reports.
2020-07-01 14:40:10 -04:00
John Colvin
40bad84c48
algo studio includes algos with undefined children in the dropdown
2020-07-01 12:09:12 -05:00
Eric Harding
c3786d9d64
ilink3: Provide SecurityOracle to execution report parser
2020-07-01 11:50:03 -04:00
Pedro Pinto
9080e3124b
Filled in cust_order_handing_inst
2020-07-01 11:29:47 -04:00
Pedro Pinto
d9c536124a
Fixed logging of session seq numbers.
2020-07-01 11:29:30 -04:00
Pedro Pinto
7de6b2907e
Filled in sendercompid in routing record.
...
iLink3 requires this.
2020-07-01 10:48:01 -04:00
Eric Harding
75f017e9f8
ilink3: Get PartyDetails from sender_cmp_id
2020-07-01 10:29:20 -04:00
Pedro Pinto
7757ab3ea0
Fixed a few bugs.
2020-06-30 19:35:53 -04:00
Pedro Pinto
3186dd383c
We can connect now.
2020-06-30 19:03:35 -04:00
Pedro Pinto
45f751c9c6
Bad merge.
2020-06-30 19:03:35 -04:00
Pedro Pinto
e4d3774980
Better logging.
2020-06-30 19:03:35 -04:00
Eric Harding
eedb3ce05d
Clear hmac for json logging
2020-06-30 17:11:01 -04:00
Eric Harding
6a7d38c0fd
flip session bool
2020-06-30 16:10:26 -04:00
Eric Harding
7f9967834d
add readme note
2020-06-30 15:34:03 -04:00
Eric Harding
31ccbfcd19
Switch to ilink3 logging group
2020-06-30 14:43:38 -04:00
Eric Harding
c2abf90cc4
IL3MessageFramer owns outgoing messages so it needs to outlive ILinkGW
2020-06-30 14:36:02 -04:00
Eric Harding
8dc4735248
ilink3: set_state(Error) only after disconnect
2020-06-30 14:25:59 -04:00
Pedro Pinto
d940d9f11d
For now, caught serialization error in some ilink3 msgs.
2020-06-30 14:10:07 -04:00
Pedro Pinto
1e0c75c6c7
Added iLink3 subsystem for logging.
2020-06-30 14:09:55 -04:00
Eric Harding
fbaa17bc40
Add some comments to marketdata.proto
2020-06-30 13:16:30 -04:00
Eric Harding
38e3cd6197
Update market data readme
2020-06-30 13:13:48 -04:00
Pedro Pinto
3bb9961af4
Refactor.
2020-06-30 11:35:40 -04:00
Pedro Pinto
da8088fd8d
Rebased
2020-06-30 11:27:56 -04:00
Eric Harding
748a65f671
Merge branch 'ilink3_gateway' of bitbucket.org:bluetradesys/spark into ilink3_gateway
2020-06-30 10:05:33 -04:00
Eric Harding
66d80136bd
ilink3: Keep outgoing messages alive forever.
2020-06-30 10:04:42 -04:00
Eric Harding
10386311d4
Update market data readme
2020-06-29 12:25:30 -04:00
Eric Harding
629a7f8130
Remove unused class in MD
2020-06-29 12:25:14 -04:00
Pedro Pinto
81189bb2cc
Forgot to add message logger.
2020-06-29 12:08:22 -04:00
Pedro Pinto
e5681a50f2
Made session name come from date.
2020-06-29 10:59:15 -04:00
Pedro Pinto
69fe4569e3
Made FIX session name available as uint64_t as well as strings.
2020-06-29 10:57:40 -04:00
Pedro Pinto
faedb0a49e
Feed handler.
2020-06-29 07:34:51 -04:00
Pedro Pinto
c7caf66f9c
Changed the ILink3 log format to json.
2020-06-26 19:11:05 -04:00
Pedro Pinto
14504f4a94
Cleaned up comment.
2020-06-26 19:10:49 -04:00
Pedro Pinto
5b601a4016
Fixed encofing of clorid.
2020-06-26 19:10:23 -04:00
John Colvin
e3207b921a
truncate list of securities in transitive compare test (was timing out due to too many permutations)
2020-06-26 13:32:27 -05:00
Pedro Pinto
d148255917
Refactored mdp3feedhandler.
2020-06-26 08:08:07 -04:00
Taha Afzal
98db8e61a5
Removing hardcoded ref's to Katallage
2020-06-25 17:05:10 -04:00
Pedro Pinto
45aa75e8bb
Brought back the ilink3/ilink2 encoding abstraction.
2020-06-25 16:49:46 -04:00
Pedro Pinto
b2471d45b2
Added tool
2020-06-25 16:49:10 -04:00
Pedro Pinto
11e2df8c76
Tweaked build tools.
2020-06-25 16:49:10 -04:00
Pedro Pinto
cba6852655
Updated docker
2020-06-25 16:49:10 -04:00
Pedro Pinto
5eeaedde26
Added a few build tools.
2020-06-25 16:49:10 -04:00
Pedro Pinto
b63052dbaa
Updated ICE Onixs
2020-06-25 16:49:10 -04:00
Pedro Pinto
29f5bc798e
Added +x
2020-06-25 16:49:10 -04:00
Pedro Pinto
04603acbb9
Added publishing of new routing info when orders are recorevered from disk
2020-06-25 16:49:10 -04:00
Pedro Pinto
bc6890055e
temp commit, fixing glbxnative order
2020-06-25 16:49:10 -04:00
Pedro Pinto
ea94c09c78
Eric intermediate ilink3 fixes
2020-06-25 16:49:10 -04:00
Pedro Pinto
00b1d3c51c
Feed handler
2020-06-25 06:02:17 -04:00
Eric Harding
e3c3bc78fc
Note what this address list is for
2020-06-24 20:55:20 -04:00
Eric Harding
a11d390dcd
ilink3 message logging
2020-06-24 20:52:21 -04:00
Eric Harding
7c74a961d4
Add canned cert sessions for ilink3 nrcert
2020-06-24 20:43:27 -04:00
Eric Harding
5db21ad2ca
fix build, session and clordid changes
2020-06-24 19:32:12 -04:00
Pedro Pinto
b68c963b5e
c2
2020-06-24 19:16:59 -04:00
Pedro Pinto
a43070f812
c1
2020-06-24 19:15:14 -04:00
Eric Harding
f703dabdfe
Raw msg should be 2 strings
2020-06-24 17:53:30 -04:00
Eric Harding
237d3eea4b
encode_clordid needs security key
2020-06-24 17:29:06 -04:00
Taha Afzal
e009316bfb
Merge branch 'DJ_ICE' of bitbucket.org:bluetradesys/spark into DJ_ICE
2020-06-24 17:13:38 -04:00
Taha Afzal
5528efd2d2
Cleaning up
2020-06-24 17:13:31 -04:00
Eric Harding
818bdec130
Add NrCert keys
2020-06-24 15:07:02 -04:00
John Colvin
09f91735fe
Security sort tests run with ice securities
2020-06-24 12:58:29 -05:00
John Colvin
d9fc18547b
SecurityHelper.Compare fallsback on 'ToString' then 'Id' comparisons to guarentee deterministic sort
2020-06-24 12:56:29 -05:00
Eric Harding
d257cf2c77
Disable broken ilink3 tests for now
2020-06-24 13:28:33 -04:00
Eric Harding
079f46404f
Add some testing notes
2020-06-24 10:57:15 -04:00
Pedro Pinto
f6b5ab040c
Refactor.
2020-06-24 08:25:56 -04:00
Pedro Pinto
86ddf3078d
Refactor.
2020-06-24 07:32:59 -04:00
Pedro Pinto
bc4fe19bdb
Refactor.
2020-06-24 07:32:33 -04:00
Eric Harding
edcc73e934
Remove old ILink3ExecutionGateway. Instead use GlbxIlink3ExecutionGateway
2020-06-23 22:41:33 -04:00
Taha Afzal
5905ca3e92
Merging frmo master
2020-06-23 13:51:14 -04:00
Pedro Pinto
bb259b128a
More tools
2020-06-23 13:43:05 -04:00
Pedro Pinto
bc7ac8523b
Added tool
2020-06-23 13:06:15 -04:00
Eric Harding
0c4c2b7231
cme autocert msgw_failover test script
2020-06-23 13:05:32 -04:00
Eric Harding
420351c093
Replay refactor #4
2020-06-23 12:01:52 -04:00
Eric Harding
f69e6b89c5
Sequence number fixes
2020-06-22 22:23:13 -04:00
Eric Harding
c3e22e4b23
Recovery revamp #3
2020-06-22 20:16:21 -04:00
John Colvin
32b7b7f40d
quantity conversion for ladder right click order
2020-06-22 17:02:23 -05:00
Pedro Pinto
1d443531fd
Merge branch 'master' into spartan_tas
2020-06-22 11:27:43 -04:00
Pedro Pinto
54e5a68730
Tweaked build tools.
2020-06-22 08:41:19 -04:00
Pedro Pinto
880c95d92b
Tweaked build tools.
2020-06-20 17:17:22 -04:00
Pedro Pinto
40956c5335
More spartan tools.
2020-06-20 17:13:50 -04:00
Pedro Pinto
44aba08978
Tweaked build tools.
2020-06-20 17:13:29 -04:00
John Colvin
e7da6dd79e
remove unused 'save/remove_template_cmd' props from OrderPropertiesEditor
2020-06-19 16:42:38 -05:00
John Colvin
8bf78aa880
cleanup/normalize whitespace in OrderDataHelper.cs
2020-06-19 16:37:21 -05:00
John Colvin
1c44165181
remove unused methods/props in OrderDataHelper.cs
2020-06-19 16:35:15 -05:00
John Colvin
8165ec0e3d
fix AlgoProvider.get_permitted_algos (seed intersection aggregate a full set instead of empty)
2020-06-19 16:14:58 -05:00
John Colvin
7d1ec5b82a
Merge remote-tracking branch 'refs/remotes/origin/DJ_ICE' into DJ_ICE
2020-06-19 15:48:55 -05:00
John Colvin
02e7fb1ee0
iceberg 'show quantity' param uses display divisor
2020-06-19 15:45:17 -05:00
John Colvin
c0ea6943e1
AlgoProvider ensures synthetic security algo's last child is a Spreader algo
2020-06-19 15:12:42 -05:00
John Colvin
4c914a2d48
Merge branch 'DJ_ICE_algo_config' into DJ_ICE
2020-06-19 10:59:10 -05:00
Taha Afzal
0ee86f2dd4
CPP override fix
2020-06-19 11:58:58 -04:00
Taha Afzal
00bf3c7f47
Fixing the PNL timestamp
2020-06-19 11:10:23 -04:00
Taha Afzal
b61e18d10e
CPP logic
2020-06-19 00:44:13 -04:00
John Colvin
90b2607f86
pnl window symbol filter items are sorted
2020-06-18 13:06:41 -05:00
John Colvin
e452697088
remove struct contraint on TKey in KeyedMultiSelector, and TableUpdateItemsFilter
2020-06-18 12:50:23 -05:00
John Colvin
1988443497
fix pnl symbol filter (was checking the security.Symbol instead of the 'pnl_symbol')
2020-06-18 12:40:07 -05:00
John Colvin
3f33627f00
add pnl_cpp_tuple extension method bones (taha will implement)
2020-06-18 12:14:44 -05:00
John Colvin
0610612ae6
make PNLData.with a member method instead of extension so it isn't
...
passed by value (it's a large struct)
2020-06-18 11:35:00 -05:00
John Colvin
efcf78bb95
pnl window restores fill/market price decimal format when workspace loaded
2020-06-18 11:28:17 -05:00
John Colvin
03678e79a5
PNLSettings.cs line endings (need to figure out why they keep changing)
2020-06-18 11:00:32 -05:00
Taha Afzal
c15a364496
Merge branch 'DJ_ICE_pnl_decimals' into DJ_ICE
2020-06-17 23:50:17 -04:00
Taha Afzal
d8ec713dc5
Spreads in PNL show under a different symbol
2020-06-17 23:22:33 -04:00
Taha Afzal
daaa7311a0
Merge branch 'DJ_ICE_pnl_symbol' into DJ_ICE_cpp_mult
2020-06-17 22:58:10 -04:00
Taha Afzal
f893af1930
Strip Legs are not counted toward futures
2020-06-17 22:57:08 -04:00
Taha Afzal
6ec413c516
Dictinction bw spread legs and strip legs
2020-06-17 15:50:06 -04:00
John Colvin
a2a0d88a81
pnl window disposes filters of type IDisposable
2020-06-17 12:39:59 -05:00
John Colvin
7a4dca9589
PNLWindow uses special pnl_symbol (taha will implement pnl_symbol method later, returns regular symbol in meantime)
2020-06-17 12:30:01 -05:00
John Colvin
b21cd12cea
copy AppendTable extension from another branch
2020-06-17 12:24:58 -05:00
John Colvin
ec0b726751
ladder mid tick rounds down for negative numbers (still rounds up for positive)
2020-06-16 16:40:28 -05:00
Pedro Pinto
9ec1c8fdae
Merge branch 'master' into spartan_tas
2020-06-16 17:05:11 -04:00
John Colvin
a9f2b4ad9a
PNL window - setting for market/fill price column decimal places
2020-06-16 15:32:51 -05:00
Taha Afzal
9cb3a21e5a
position service exposes both cpp and overridden cpp
2020-06-15 23:05:53 -04:00
Eric Harding
3231ffb343
Meaningless autocert code
2020-06-15 22:48:28 -04:00
Eric Harding
8d7f1738cf
update cert secure logon
2020-06-15 22:47:30 -04:00
John Colvin
60d4dd87fd
rename ISecurityAlgoProvider.cs -> IAlgoProvider.cs
2020-06-15 17:01:02 -05:00
John Colvin
3a7eeda70e
AlgoProvider.subscribe_algos always fires at least once (doesn't depend on studio algos being present)
2020-06-15 17:00:13 -05:00
John Colvin
712146e028
Merge branch 'algo-type-config' into DJ_ICE_algo_config
2020-06-15 16:57:07 -05:00
Eric Harding
9101214e66
Add message logger and revamp replay sequence handling
2020-06-15 14:51:41 -04:00
Taha Afzal
f381d536d6
Merge branch 'DJ_ICE' into DJ_ICE_cpp_mult
2020-06-15 09:53:32 -04:00
Pedro Pinto
d8d5f3b93c
Merge branch 'DJ_ICE' of bitbucket.org:bluetradesys/spark into DJ_ICE
2020-06-15 09:29:08 -04:00
Pedro Pinto
1d4dc47a62
Added missing update to session/high low.
2020-06-15 09:28:23 -04:00
Taha Afzal
482c300b72
Merge branch 'DJ_ICE_space_bar_recenter' into DJ_ICE
2020-06-14 21:08:51 -04:00
Pedro Pinto
59774ccbb5
Updated docker
2020-06-14 15:27:18 -04:00
Pedro Pinto
fcb6c9b8d9
Added a few build tools.
2020-06-14 15:27:01 -04:00
Pedro Pinto
69ad995ba9
Updated docker
2020-06-14 15:23:18 -04:00
Pedro Pinto
0b26ec1132
Added a few build tools.
2020-06-14 15:21:55 -04:00
John Colvin
3de494c80f
recenter all ladders on spacebar (don't require shift)
2020-06-12 17:05:53 -05:00
Eric Harding
c6b2e2f21e
OMF setting to true, always
2020-06-12 17:49:37 -04:00
Eric Harding
2eac97c1a9
meaningless cert change
2020-06-12 15:18:20 -04:00
Eric Harding
b4b0e10f29
Fix IOC=FAK order type (not FOK)
2020-06-12 15:17:38 -04:00
John Colvin
7deb25dd1c
fix ladder recenter on spacebar
2020-06-12 13:16:57 -05:00
Pedro Pinto
7a29ae1a83
Merge branch 'DJ_ICE' of bitbucket.org:bluetradesys/spark into DJ_ICE
2020-06-12 08:44:36 -04:00
Pedro Pinto
6da893128c
Cleaned up logging.
2020-06-12 08:44:20 -04:00
Pedro Pinto
2cb458af2d
Added OnBehalfofcompid tag to ICE as per cert.
2020-06-12 08:42:40 -04:00
Taha Afzal
04db38d627
Merge branch 'DJ_ICE_release_candidates' into DJ_ICE
2020-06-11 21:22:18 -04:00
John Colvin
a144b03361
ladder recenter on spacebar (across thread barrier)
2020-06-11 18:28:37 -05:00
John Colvin
9c89a9a47e
TabDocument forwards key press events to IShellWindows
2020-06-11 18:24:26 -05:00
John Colvin
007af71bb2
fix ladder center-on-settle behavior once and for all
2020-06-11 17:09:05 -05:00
John Colvin
7cfe8f4214
add override cpp context menu item in pnl window
2020-06-11 16:33:28 -05:00
John Colvin
24f8e66953
add IPositionModel (has function to override cpp)
2020-06-11 16:30:35 -05:00
John Colvin
90fc6d901f
add PropertyEditor control/dialog
2020-06-11 16:29:45 -05:00
Eric Harding
38d9db4a90
Session and sequence number fixes
2020-06-11 11:36:37 -04:00
Taha Afzal
a216d1cc81
Fixing sell order check for distance from settlement
2020-06-11 09:19:03 -04:00
Pedro Pinto
f8395c11b5
Fixed application, vendor tags for DJ.
2020-06-11 08:26:26 -04:00
John Colvin
2b0e46ed38
fix ladder center around settle behavior
2020-06-11 00:36:11 -05:00
John Colvin
5f3b243265
'max settlement cross ticks limit' ladder setting
2020-06-10 18:16:52 -05:00
John Colvin
c9ce2d18bf
simplify 'Safety Checks' content alignment in ladder settings dialog
2020-06-10 17:33:13 -05:00
John Colvin
7b563ba66c
ladder centers around settlement price if no bid/ask market
2020-06-10 13:17:01 -05:00
Eric Harding
6a679ff78c
Fix for cancel/replace
2020-06-10 14:13:28 -04:00
Taha Afzal
3e1be70923
Fix for HHD Balmo spreads
2020-06-10 13:57:19 -04:00
John Colvin
aadd7df6c6
quantity divisor is 1 for 'ICE Lots' secs
2020-06-09 22:49:57 -05:00
Eric Harding
aba3f21020
stop order does not carry price
2020-06-09 19:18:36 -04:00
John Colvin
8206132a37
quantity conversion in pnl for dj
2020-06-09 17:27:29 -05:00
John Colvin
f8b3fd2e14
QuantityConversionData.to/from_display extensions use 'safe_divide'
2020-06-09 17:10:21 -05:00
Eric Harding
fede19fd11
stop-limit success
2020-06-09 16:30:00 -04:00
John Colvin
8b17ee72ff
quantity conversion in ladder when last size is transposed over volume column
2020-06-09 10:50:06 -05:00
Pedro Pinto
0508858859
Better parser
2020-06-09 10:04:15 -04:00
Eric Harding
3fa8dbf112
Cannot send price with market order
2020-06-08 23:09:10 -04:00
Eric Harding
77ae4703b3
Fix clOrdID and custOrdCapacity
2020-06-08 22:58:53 -04:00
John Colvin
31ed473999
quantity conversion in time and sales for dj
2020-06-08 17:25:13 -05:00
John Colvin
673805a7f4
quantity conversion in fills for dj
2020-06-08 17:10:39 -05:00
John Colvin
91422449e9
quantity conversion in manual fills for dj
2020-06-08 17:02:55 -05:00
John Colvin
438089a1cd
quantity conversion in mview for dj
2020-06-08 16:36:57 -05:00
John Colvin
6a186d1d7e
MarketViewRow - remove unreferenced fields
2020-06-08 16:33:55 -05:00
John Colvin
9d831a2569
fix line endings in MarketViewVM.cs
2020-06-08 16:33:55 -05:00
John Colvin
d47cf1a54e
(Dynamic)DoubleDivisorConverter uses safe_divide extension
2020-06-08 16:33:55 -05:00
John Colvin
8c9f669e72
refactor IsRealNonZero to is_real_positive (orig name was a typo), add a few more similar extensions to MathUtils
2020-06-08 16:33:55 -05:00
John Colvin
f5bda11797
quantity conversion in orderbook for dj
2020-06-08 12:19:43 -05:00
John Colvin
1841a75fec
quantity conversion in ladder/ticket for dj
2020-06-08 12:19:43 -05:00
John Colvin
34cdaeec93
don't use Disposable.replace bc it creates the next disposable before disposing the previous one
2020-06-07 16:01:27 -05:00
Taha Afzal
3230fb9e48
Regular TAS contract's formatting did not have the word TAS in it
2020-06-05 16:42:05 -04:00
Taha Afzal
888b4e22c0
Ignoring strips with > 512 components
2020-06-05 14:11:34 -04:00
Taha Afzal
534ce5a8ec
strips are XL too
2020-06-05 13:12:57 -04:00
Taha Afzal
c2b9ac57dc
Fixing build
2020-06-05 11:55:54 -04:00
Taha Afzal
2783361325
Merge branch 'master' into DJ_ICE
2020-06-05 10:50:42 -04:00
Taha Afzal
46d35131d7
Overridable cpps
2020-06-05 10:01:18 -04:00
Pedro Pinto
3b95154c04
Updated ICE Onixs
2020-06-05 09:11:03 -04:00
Pedro Pinto
e840b9617f
Tweaked MD to Json parsing.
2020-06-05 08:22:24 -04:00
Pedro Pinto
19ee603413
Merged from master
2020-06-04 13:48:13 -04:00
Pedro Pinto
1a6b918853
Updated docker
2020-06-04 13:43:25 -04:00
Pedro Pinto
bc22605a25
Added +x
2020-06-04 13:43:00 -04:00
Pedro Pinto
f3d28add1c
Added publishing of new routing info when orders are recorevered from disk
2020-06-04 13:41:34 -04:00
Eric Harding
a28bfa1175
execution report handling tweaks
2020-06-04 10:05:44 -04:00
Eric Harding
4e4a48283d
bool parse_report(string&, SecurityOracle&, ExecutionReport*);
2020-06-03 13:09:56 -04:00
Taha Afzal
63d260a6f8
Security formatting for ICE
2020-06-03 09:42:44 -04:00
Pedro Pinto
7a761d00ce
Added security oracle to SessionStore so we can resolve exe reports.
2020-06-03 08:51:31 -04:00
Pedro Pinto
968be6a99a
Added storage for sessions. Still missing parsing of exec reports.
2020-06-02 17:13:53 -04:00
Taha Afzal
9b4a63b4a8
Changes to make HNG/HIS/HEN/HHD to work
2020-06-02 11:15:47 -04:00
Pedro Pinto
03404eb3f1
Made some progress in GLBXiLink3ExecutionGateway
2020-06-02 09:16:02 -04:00
Pedro Pinto
ff1a970982
Fixed build some more
2020-05-28 14:29:45 -04:00
Pedro Pinto
ed890b4d84
Fixed broken tests for subscribe_exe_report change
2020-05-28 13:50:04 -04:00
Pedro Pinto
e87003cc41
Merged with master
2020-05-28 12:21:51 -04:00
Eric Harding
bc06037843
Fix the build
2020-05-28 12:20:30 -04:00
Pedro Pinto
a502c365e5
Build tweaks
2020-05-28 12:15:16 -04:00
Pedro Pinto
c4c7cebfc5
Updated externals
2020-05-28 12:12:46 -04:00
Pedro Pinto
f18bcd2995
Build tweaks
2020-05-28 12:12:46 -04:00
Pedro Pinto
a6a1b6ac53
Fixed clang build.
2020-05-28 12:12:46 -04:00
Pedro Pinto
fdacd8b543
Added -f when removing simlinks in build setup.
2020-05-28 12:02:46 -04:00
John Colvin
3d1de9a0c7
nuget_restore.cmd uses externals package source (builds offline)
2020-05-28 12:02:31 -04:00
John Colvin
b2b3fa5949
update jenkinsbuild.cmd to use externals nuget source (for windows)
2020-05-28 12:02:17 -04:00
Pedro Pinto
86ecf69820
Updated external subrepos
2020-05-28 11:53:51 -04:00
Eric Harding
8c3da4e43c
Re-arrange some methods in ILinkGW.h
2020-05-27 16:51:36 -04:00
Eric Harding
06b955dceb
Exchange seq number fix
2020-05-27 11:49:08 -04:00
Eric Harding
e75d15146c
cme cert test update
2020-05-26 23:55:27 -04:00
Eric Harding
cb07384c9f
Fix problem with party details
2020-05-26 23:55:13 -04:00
Eric Harding
fc9e502539
cert refactor
2020-05-26 12:40:16 -04:00
Eric Harding
fcbf3388c0
update ilinkbinaryxml templates
2020-05-26 12:40:04 -04:00
Eric Harding
899bea940f
improve ilinkgw logging
2020-05-26 12:39:55 -04:00
Eric Harding
14b7509607
ensure local launch timezone
2020-05-26 12:39:41 -04:00
Pedro Pinto
8f537a8fda
Merged in build_improvements (pull request #414 )
...
Build improvements
2020-05-26 16:32:43 +00:00
Pedro Pinto
01b9ff6b47
Dropped celoxica
2020-05-26 12:28:35 -04:00
Pedro Pinto
2609663d3e
Updated setup_builds to work even if its run outside the tree.
2020-05-26 12:06:08 -04:00
Eric Harding
25668e8df0
dont' build web client on wsl2
2020-05-26 11:54:19 -04:00
Pedro Pinto
fd89241611
Updated externals pointer
2020-05-26 11:49:29 -04:00
John Colvin
a69118c5d3
fix line endings in release_notes
2020-05-22 23:42:27 -05:00
John Colvin
5accd0e2b4
Merge branch 'master' into prod
2020-05-22 19:14:16 -05:00
John Colvin
df5ad61cd2
release notes for synthetic gui integer tick sizes
2020-05-22 19:12:29 -05:00
John Colvin
4a7674eb29
synthetic gui supports integer tick sizes
2020-05-22 18:15:53 -05:00
Eric Harding
5a458287f4
update license search info in disable_onixs.py
2020-05-22 15:18:46 -04:00
John Colvin
5921f9f6b5
Merge branch 'master' into prod
2020-05-22 12:34:18 -05:00
John Colvin
4c73a63ae8
release notes for bug fix (unsorted custom state grid params in orderbook)
2020-05-22 12:30:53 -05:00
John Colvin
42b1c921a8
OrderBook custom state grid params are sorted alphabetically (again)
2020-05-22 12:24:42 -05:00
Pedro Pinto
fab3334b1e
Updated release notes
2020-05-22 11:23:03 -04:00
Pedro Pinto
7239dd3ade
Merge branch 'master' into prod
2020-05-22 11:20:17 -04:00
John Colvin
dd4c8eb649
Merged csharp-api-examples-sln into master
2020-05-22 10:19:13 -05:00
John Colvin
76a29bdc8a
client ui supports all integer tick sizes (not just 1)
2020-05-21 15:26:50 -05:00
John Colvin
06d708f3ea
new csharp api examples
2020-05-21 15:17:32 -05:00
John Colvin
e2f70cbc19
minor config tweaks needed after upgrading VisualStudio
2020-05-21 13:04:00 -05:00
Pedro Pinto
9d54e47a03
Update CMakeDeps
2020-05-19 17:00:24 -04:00
Eric Harding
5345ba8ff8
securities for sending orders ilink3 test
2020-05-19 15:58:56 -05:00
John Colvin
faccdf581e
Merged in limit-algo-clean-history (pull request #413 )
...
Limit algo clean history
2020-05-19 13:53:07 +00:00
Pedro Pinto
515ed5aabd
Merged with master
2020-05-19 07:07:13 -04:00
John Colvin
1a64714a54
always log errors observed in LadderGridHost._volume_from_row (not just when it fails after max_num_tries)
2020-05-18 17:03:39 -05:00
John Colvin
3ba6792a85
wrap LadderGridHost._volume_from_row in try/catch (addresses Pure client crash)
2020-05-18 16:46:23 -05:00
Pedro Pinto
c32a7f1d62
Made native orders calculate route when recovered from disk.
...
This is in response to the Pure debacle of May 17th. CME changed the
MSGW used for certain products. As we only route orders once, when
they are created, any orders that already existed never transitioned
to the new MSGW. This made it so that users could no longer control
these orders. With this change we recalculate routes when the orders
are first loaded from disk. Assuming we have up to date securities,
something that sometimes does not happen unfortunately, this should
result in the order being automatically relocated to its new MSGW. As
a bonus we also get the hability to change MSGW configuration even if
there are working for that MSGW.
2020-05-18 08:59:42 -04:00
Pedro Pinto
12e068a3d1
Refactor of Spartan
2020-05-17 11:16:28 -04:00
John Colvin
10e75f30e6
fix algo params grid enum template for GenericOrderVMs
2020-05-15 13:16:25 -05:00
John Colvin
20eac19c4f
GenericOrderVM - normalize white space
2020-05-15 13:16:25 -05:00
John Colvin
8c0765a2c7
fix build
2020-05-15 10:34:59 -05:00
Pedro Pinto
8268599893
TAS does not support GTC orders.
2020-05-15 09:50:38 -04:00
Taha Afzal
7a1f88e813
Merge branch 'limit-algo-clean-history' of bitbucket.org:bluetradesys/spark into limit-algo-clean-history
2020-05-14 22:01:32 -04:00
Taha Afzal
3420f14c8a
DeleteAndCover detached hedges by default:
2020-05-14 22:01:22 -04:00
Eric Harding
9bf05973bd
Add in/out to logs
2020-05-14 20:51:15 -05:00
John Colvin
86277dfbfe
config toggle for new 'specific' CustomOrderDefinition params dialog (disabled by default)
2020-05-14 20:14:51 -05:00
John Colvin
4839e464c6
added dialog to edit CustomOrderDefinition params of a specific algo node
2020-05-14 20:02:14 -05:00
John Colvin
dc2ad071a9
GenericOrderHelper should use 'FirstOrDefault' (not 'First')
2020-05-14 19:59:06 -05:00
John Colvin
65e49992f9
LimitCoverAlgo.do_update - remove redundant conversion from DynamicOrderDefinition to LimitCoverDefinition
2020-05-14 17:08:01 -05:00
John Colvin
afbb9ae92d
LimitCover algo - 'Hedge Ticks' and 'Top Ticks Offset' params actually assigned to DeleteAndCover child
2020-05-14 12:29:29 -05:00
John Colvin
ff088142d9
fix custom state output grid
2020-05-14 12:29:29 -05:00
Pedro Pinto
93b7cf346b
Added an option for the Cover algo to detach hedges.
2020-05-14 10:20:46 -04:00
Eric Harding
f0edeadd50
Make shared mem size configurable
2020-05-13 20:29:38 -05:00
Eric Harding
cea4d05bc4
log every msg
2020-05-13 20:19:48 -05:00
Taha Afzal
8ee9b84488
Merge branch 'limit-algo-clean-history' of bitbucket.org:bluetradesys/spark into limit-algo-clean-history
2020-05-13 20:39:13 -04:00
Taha Afzal
e3648f5373
Better Logging
2020-05-13 20:39:07 -04:00
John Colvin
facd3a9d81
LimitCoverAlgo - remove unnecessary else block in 'do_before_launch'
2020-05-13 17:26:13 -05:00
John Colvin
84969cb481
LimitCoverAlgo - dont update me->child_qty in the child_changed callback, since its async
2020-05-13 17:21:32 -05:00
John Colvin
6d521e77db
LimitCoverAlgo - don't override do_launch_attached (it's not supported)
2020-05-13 17:15:30 -05:00
John Colvin
82c49f8f49
remove redundant methods: tick_up/less, payup/less
2020-05-13 17:15:30 -05:00
John Colvin
e074309da1
typo broke build (missed constructor in 'TickOffset' -> 'PriceOffset' refactor)
2020-05-13 17:15:30 -05:00
John Colvin
2d622a5f39
LimitCover algo - convert 'ticks_offset' param be in price terms
2020-05-13 16:55:01 -05:00
John Colvin
d51d20e84c
LimitCover algo - remove cancel_on_blah params, add hedge_ticks
2020-05-13 16:18:46 -05:00
John Colvin
2ccdef9dc5
fix clang build errors
2020-05-13 15:59:45 -05:00
John Colvin
42e62a30bf
to_string(OrderError) uses generated protobuf enum Name method
2020-05-13 15:32:27 -05:00
Eric Harding
0b7208784b
Can't take the double negatives anymore
2020-05-13 14:01:16 -05:00
John Colvin
c233c607fa
Formatter.h - pass strings/templated args by const ref instead of value
2020-05-13 13:40:07 -05:00
John Colvin
462cb930f7
dont redefine ChildTemplate
2020-05-13 13:20:55 -05:00
Eric Harding
059ccbdab6
Merge branch 'master' of bitbucket.org:bluetradesys/spark into ilink3_gateway
2020-05-13 11:05:31 -05:00
Pedro Pinto
2c0f920422
Merge branch 'master' of bitbucket.org:bluetradesys/spark
2020-05-13 08:54:14 -04:00
Pedro Pinto
5ee26065ca
Updated .gitignore
2020-05-13 08:53:52 -04:00
John Colvin
550a4e8d50
add config toggle to enable/disable LimitCover algo
2020-05-12 19:11:16 -05:00
John Colvin
99b8221efc
LimitCoverAlgo unit tests
2020-05-12 19:11:16 -05:00
John Colvin
19e74c30f8
AlgoTestDriverBase - AlgoState << operator
2020-05-12 19:03:53 -05:00
John Colvin
26693a4c98
AlgoTestDriverBase - after_child_changed callback, and find_child method
2020-05-12 19:03:53 -05:00
John Colvin
d8bdb69a7c
AlgoTestDriverBase - ChildTemplate impl, added OrderDefinition param to child_launching callback
2020-05-12 19:03:53 -05:00
John Colvin
6d357a74e1
AlgoTestDriverBase - expose cancel/cancel_child methods
2020-05-12 19:03:53 -05:00
John Colvin
73f4e4814c
LimitCover algo for pure
2020-05-12 19:03:53 -05:00
John Colvin
312bc4be15
add Formatter.h (defines commonly needed << operators for algos, basic string formatting utils)
2020-05-12 18:55:37 -05:00
John Colvin
a0c3ba449a
add DynamicOrderAdapter (util to keep param proto conversion code out of the algo)
2020-05-12 18:55:37 -05:00
John Colvin
d5a2a7f3f0
orderman_utils.h pragma once
2020-05-12 18:55:37 -05:00
John Colvin
eda8c94def
replicate_to_linux_vm.py - ignore some dirs generated by visual studio
2020-05-12 18:55:37 -05:00
John Colvin
9a8e80e149
add payup/less price calc utils (Security.h)'
2020-05-12 18:55:37 -05:00
John Colvin
6a7e3d739d
fix typo 'epislon' -> 'epsilon'
2020-05-12 15:58:00 -05:00
Taha Afzal
e6b8274813
DeletAndCoverOrderDefinition does not contain the nested enum anymore
2020-05-12 15:58:00 -05:00
Taha Afzal
9783520c62
DeleteAndCover completed
2020-05-12 15:58:00 -05:00
Taha Afzal
7e7f0bc37f
Adding DeleteAndCover proto
2020-05-12 15:58:00 -05:00
Eric Harding
75eaf8c3d4
IL3ExecutionReportParser
2020-05-12 13:54:28 -05:00
John Colvin
b9e2ecdffa
Merged in transitive-security-compare (pull request #411 )
...
Transitive security compare
Approved-by: Eric Harding
2020-05-11 19:42:50 +00:00
Eric Harding
f1c021a474
Merged in security_preload (pull request #412 )
...
Security preload
2020-05-11 19:41:00 +00:00
Eric Harding
6fda54ffa1
Merged master into security_preload
2020-05-11 15:44:50 +00:00
Taha Afzal
bdb0adc16c
TASCounter test fixed
2020-05-07 13:07:44 -04:00
Eric Harding
4b19b0ea14
update launch.json
2020-05-06 18:26:03 -05:00
Eric Harding
fab1b4dd0f
Add SecurityPreload key to pre-load securities from the security DB for sunday startup.
2020-05-06 18:25:29 -05:00
John Colvin
f3ed3075cf
fix Security comparison impl (its transitive now)
2020-05-06 17:35:46 -05:00
John Colvin
742af36b93
Security comparison unit test (addresses bug that caused Krandall OrderBook crash)
2020-05-06 17:35:46 -05:00
John Colvin
c573b5fbb2
add ProtoBufCapture extension (writes TableUpdate state to file when subscription is disposed)
2020-05-06 17:30:00 -05:00
Eric Harding
2d6d4af594
add vscode spark local linux debugger settings
2020-05-06 12:27:11 -05:00
Eric Harding
1e8fcd794f
Update ExecutionReport::exchange_order_id
2020-05-06 12:22:33 -05:00
John Colvin
2dcfad979c
move FileStreamHelper.cs to spark_core
2020-05-06 12:11:03 -05:00
Eric Harding
726329c4bf
Add ilink3 execution report parser and order test
2020-05-06 11:56:52 -05:00
Eric Harding
2d01f3f0f4
CME Certification requires very specific UUID generation
2020-05-06 11:56:01 -05:00
Eric Harding
2a595c0fd7
cme cert hard coding
2020-05-06 11:54:32 -05:00
Taha Afzal
ba7e35649e
Ignore Spread Pos Limits are defaulted to true
2020-05-06 10:36:40 -04:00
Eric Harding
5f9866c9e8
SecurityCache now hands out raw pointers. SecurityOracle now indexes exchange security key
2020-05-05 11:17:16 -05:00
Pedro Pinto
6365378947
Changed TAS order to be GTC rather than DAY (since we logout).
2020-05-05 06:52:11 -04:00
Pedro Pinto
cda4a870b7
Merge branch 'master' of bitbucket.org:bluetradesys/spark
2020-05-05 06:14:30 -04:00
Pedro Pinto
b3a8564365
Fixed int32 params in DynamicOrders to be int32 rathern than uint32.
2020-05-05 06:13:40 -04:00
Pedro Pinto
1e0114a4cf
Treated disconnected orders as working.
2020-05-05 06:13:06 -04:00
Eric Harding
3a6e95ef05
Downgrade security scanner message to info
2020-05-04 16:16:55 -04:00
Eric Harding
78f1cf88e0
cmake needs love too
2020-05-04 11:16:21 -05:00
Eric Harding
4877436877
Ilink3 order unit test
2020-05-04 11:32:30 -04:00
Pedro Pinto
78d238fdfb
Ran clang-format on ICEExecutionGateway.cpp
2020-05-04 09:33:40 -04:00
Eric Harding
1b43124756
Add ReentrancyGuard.h
2020-05-02 13:10:49 -04:00
Eric Harding
6875263743
Update 'update' instructions for spark_sdk
2020-05-01 14:17:07 -04:00
Taha Afzal
eac828f323
Merge branch 'master' into TASCounter
2020-05-01 13:49:27 -04:00
Taha Afzal
1635d6f649
Added test for TASCounter
2020-05-01 13:48:50 -04:00
Eric Harding
a1feb3fddf
PrimaryGatewayConnectionEnforcement
2020-05-01 13:22:35 -04:00
Eric Harding
2da535e9ff
Update onixs license
2020-05-01 12:51:31 -04:00
Eric Harding
024328bf8b
Refactor empty session
2020-05-01 11:44:03 -04:00
Pedro Pinto
d90fa1a1e8
Launched regular spark after TAS is concluded.
2020-05-01 07:41:23 -04:00
Taha Afzal
a98be44a40
Merge branch 'master' into TASCounter
2020-04-30 13:59:49 -04:00
John Colvin
6210ac2ee6
OrderBook custom state grid only shows data if the selected rows are of the same root/branch
2020-04-29 16:21:17 -05:00
Pedro Pinto
3e817d4fb0
Refactor
2020-04-29 13:16:16 -04:00
Eric Harding
80d7e34bf1
Fixes for updated sbe codegen
2020-04-28 18:16:45 -04:00
Pedro Pinto
cfebab0488
Merged in api_improvements (pull request #405 )
...
Api improvements
Approved-by: John Colvin <john.colvin@bluetradesys.com >
2020-04-28 20:06:53 +00:00
Pedro Pinto
eacd766359
Updated release notes.
2020-04-28 16:05:21 -04:00
Pedro Pinto
8fb8f8ff58
Merge branch 'master' into api_improvements
2020-04-28 15:58:43 -04:00
Taha Afzal
f4b22816a2
Putting config to hide TASCounter
2020-04-27 23:39:41 -04:00
Eric Harding
8ab69c919b
Improve cme provided error message
2020-04-27 16:56:32 -04:00
Eric Harding
99531bcfa0
Update ilink3 generated templates
2020-04-27 16:50:54 -04:00
Eric Harding
6bd516d4f2
cleanup
2020-04-27 11:26:42 -04:00
Taha Afzal
1029a464d7
Fixing the bts::timestamp tp protobuf timestamp function (unused, but useful)
2020-04-27 09:57:21 -04:00
Taha Afzal
fd8b8e03ea
cleanup, comments
2020-04-26 23:10:16 -04:00
Eric Harding
1a1d771e1b
addition ilink3 tests
2020-04-25 13:18:58 -04:00
Eric Harding
050fcf7c6e
Passing simple log in test
2020-04-24 12:31:30 -04:00
Pedro Pinto
41cf66a943
Added the hability to retrieve all securities in the API.
2020-04-24 08:00:13 -04:00
Pedro Pinto
1c57c9a012
Added position updates in the API.
2020-04-24 07:03:40 -04:00
Taha Afzal
8ccab66120
Merge branch 'add_custom_algo_state_reporting_to_api' into TASCounter
2020-04-23 18:14:28 -04:00
John Colvin
e2b2f7ec9c
better default widths for custom state grid columns
2020-04-23 16:11:35 -05:00
John Colvin
b3c897bf0f
custom state grid params are sorted alphabetically
2020-04-23 16:02:38 -05:00
John Colvin
87c9f54c8b
custom state grid populates with first child row that has params (if selected row doesn't have any itself)
2020-04-23 15:59:49 -05:00
John Colvin
df56b76ab6
OrderBookRowVM - remove dead property 'is_visible'
2020-04-23 15:54:30 -05:00
Taha Afzal
28ff13db11
Merge branch 'add_custom_algo_state_reporting_to_api' into TASCounter
2020-04-23 13:23:30 -04:00
Taha Afzal
2957075769
comments
2020-04-23 13:22:33 -04:00
John Colvin
a6477824a8
OrderBookVM - clear the previous 'custom state' params before adding the new ones
2020-04-23 11:16:47 -05:00
Pedro Pinto
aa6d453d5b
Added spread support to TAS algo.
2020-04-23 07:18:00 -04:00
Pedro Pinto
112c78e50b
Moved ouput messages to log.
2020-04-23 06:48:08 -04:00
Taha Afzal
17431f5ac0
Code complete, output is not showing in the UI which is making testing harder
2020-04-23 00:09:23 -04:00
Pedro Pinto
41ec7fb668
Updated linux
2020-04-22 14:13:01 -04:00
Pedro Pinto
b19bf2fd26
Added channel handling to TAS.
2020-04-22 14:09:12 -04:00
Pedro Pinto
c5f7477521
Fixed bug in admin reafactoring.
2020-04-22 14:05:51 -04:00
Taha Afzal
8708f02fe0
Merge branch 'add_custom_algo_state_reporting_to_api' into TASCounter
2020-04-21 17:44:58 -04:00
Taha Afzal
752fb2bc4a
Merge branch 'master' into TASCounter
2020-04-21 17:10:32 -04:00
Taha Afzal
6efb78ecf9
Code complete
2020-04-21 14:26:32 -04:00
John Colvin
75c1970aef
remove useless IObservable 'Select' op in 'SubscribeEach' extension
2020-04-20 10:39:31 -05:00
John Colvin
c2583518d7
OrderBook was only updating custom state grid when selection changed
2020-04-20 10:37:12 -05:00
Pedro Pinto
14323e7964
Code complete on TAS.
2020-04-20 08:54:24 -04:00
Eric Harding
aadeae3201
update cmake, avoid web build on wsl
2020-04-17 22:38:53 -04:00
Eric Harding
b72e8aed02
ilink3 test code
2020-04-17 20:30:11 -05:00
Pedro Pinto
39db9b1bd7
Factored storage/retrieval of admin data out of service.
2020-04-17 18:37:05 -04:00
John Colvin
8792871387
add algo custom state grid to orderbook (right panel)
2020-04-17 16:36:05 -05:00
Eric Harding
68a593af7b
Add more info to system test
2020-04-17 16:48:10 -04:00
Eric Harding
0820cc3e9a
Fix a very subtle bug in serializer
2020-04-17 13:15:12 -05:00
Eric Harding
b1ba9a1315
update ilink code gen readme
2020-04-16 14:03:53 -05:00
John Colvin
17c2321a82
Merged in SP-289-naudio-crash (pull request #407 )
...
SP-289 naudio crash
Approved-by: Eric Harding <eric.harding@bluetradesys.com >
2020-04-16 18:11:18 +00:00
John Colvin
0affc8a942
SP-289 naudio crash
2020-04-16 12:07:44 -05:00
John Colvin
ce36ea4109
move Delegates.cs to spark_core
2020-04-16 10:47:41 -05:00
Pedro Pinto
991a199d06
TAS utils refactor.
2020-04-14 11:46:53 -04:00
Eric Harding
39ce4323a1
Add CME cert command line tool
2020-04-13 16:18:59 -05:00
Pedro Pinto
7c29a3d1d8
Added custom state reporting to API.
2020-04-13 11:30:32 -04:00
Eric Harding
d9fcd290d9
source files don't need to be executable
2020-04-13 09:53:28 -05:00
Taha Afzal
90bc20575a
TimeStamps fixed
2020-04-13 08:56:49 -04:00
Pedro Pinto
cb268f505a
Added settlements to the new algo API.
2020-04-13 08:19:55 -04:00
Pedro Pinto
dfd93b836b
Updated externals
2020-04-13 07:44:52 -04:00
Pedro Pinto
9d045f65d2
Some progress on TAS.
2020-04-13 07:40:58 -04:00
Eric Harding
05939b02c5
save
2020-04-12 15:11:46 -05:00
Taha Afzal
28e9c66675
Added all the state, order execution remains
2020-04-10 12:54:57 -04:00
Eric Harding
aa91638fe4
ilink3 receive buffer handler + tests
2020-04-10 10:55:53 -05:00
Taha Afzal
c0520d6a31
Initial Check-in, skeleton code
2020-04-09 09:30:00 -04:00
Pedro Pinto
1c0cd176a1
Moved externals pointer
2020-04-09 08:35:10 -04:00
Pedro Pinto
1018ae387a
Added preliminary tas utilities
2020-04-08 15:53:17 -04:00
Eric Harding
065fc54f73
IL3Reactor
2020-04-07 14:05:31 -05:00
Pedro Pinto
1ba6e3280c
Updated CMakeDeps
2020-04-06 09:38:19 -04:00
Eric Harding
3a6f50dfea
Merge branch 'prod' of bitbucket.org:bluetradesys/spark
2020-04-03 15:40:30 -04:00
Eric Harding
d711f99548
fix externals pointer
2020-04-03 15:40:15 -04:00
pfisher
07ace80871
fixed keycode.conf
2020-04-03 13:40:56 -05:00
John Colvin
93c6277bfc
Merged prod into master
2020-04-03 13:20:33 -05:00
Jake Norbut
7ac9d05ae2
Merged in manual_fills_permissions (pull request #403 )
...
add permission filter to manual fills
Approved-by: John Colvin <john.colvin@bluetradesys.com >
2020-04-03 18:18:16 +00:00
Eric Harding
95fb13f58b
Fix some build issues
2020-04-01 15:21:04 -05:00
Eric Harding
4eb2931cb8
Additional ilink3 refactoring
2020-03-28 21:08:47 -05:00
Eric Harding
5326015a48
Testcase for framer
2020-03-27 13:46:29 -05:00
Eric Harding
fcbe319470
Split out functional pieces for easier testing
2020-03-27 09:14:30 -05:00
Eric Harding
5ad21c88b2
Add tests and refactor includes for faster build
2020-03-25 21:15:19 -05:00
Eric Harding
5a4b31ccc0
add cpp sample to service.md api page
2020-03-20 12:10:40 -04:00
John Colvin
fb568aab39
SP-288 ladder crash (IndexOutOfRange ex accessing price array)
2020-03-19 15:28:27 -05:00
Eric Harding
64416de10d
Fix the braces in my sample.
2020-03-16 20:41:23 -04:00
Eric Harding
46953cb639
add c# market data sample
2020-03-16 20:39:48 -04:00
Eric Harding
7e68a235ee
Add securities sub to client_sdk_example
2020-03-16 15:18:39 -04:00
Eric Harding
3a9c1d557b
Split Retransmit of old vs new session logic
2020-03-09 16:29:15 -05:00
Jake Norbut
85f2285ac0
add permission filter to manual fills
2020-03-09 09:28:23 -05:00
Eric Harding
70e0979836
override sim port for sdk image
2020-03-06 12:45:09 -05:00
Kevin Darby
1f80c3366e
Merged in master (pull request #401 )
...
Master
2020-03-03 19:16:43 +00:00
Eric Harding
6fb5b83249
Only send Negotiate if the session is new
2020-02-28 15:33:27 -06:00
Eric Harding
95830fafdf
send_cancel
2020-02-27 14:48:56 -06:00
Eric Harding
d68b03bb91
send_cancel_replace
2020-02-26 17:56:50 -06:00
Eric Harding
e7062ce01e
send_order call for link3
2020-02-26 17:36:18 -06:00
Kevin Darby
19e66a1c32
add a new stunnel path for Pete
2020-02-25 11:16:40 -05:00
Pedro Pinto
932738f98e
Merge branch 'master' into ilink3_gateway
2020-02-20 08:39:47 -05:00
Pedro Pinto
1426b00e83
Added fake iLink3 gateway
2020-02-19 16:21:06 -05:00
Pedro Pinto
e724409b58
Added jetfix support for string_view
2020-02-19 10:55:56 -05:00
Pedro Pinto
9cf828e9a4
Implemented iLink3 order
2020-02-18 15:37:06 -05:00
Eric Harding
41408fb609
ILink3ExecutionGateway placeholder
2020-02-14 16:07:44 -06:00
Eric Harding
4c21e32838
ILink3GW core gateway
2020-02-14 16:06:58 -06:00
Eric Harding
385f3ea402
add unix_nano_now() to datetime.h
2020-02-14 16:05:00 -06:00
Eric Harding
8d6d8cab18
Update SecureLogon for ilink3
2020-02-14 16:05:00 -06:00
Eric Harding
01615f824a
Generated ilink3 messages
2020-02-14 16:05:00 -06:00
Pedro Pinto
c6779ddc90
Reactore GLBX native order for iLink3.
2020-02-13 15:26:33 -05:00
Pedro Pinto
46eff65435
Changed IExecutionGateway to support non FIX gateways.
2020-02-12 10:11:53 -05:00
John Colvin
17b314ea3a
Merge branch 'master' into algo-type-config
2020-02-07 13:35:50 -06:00
John Colvin
e713210030
remove obsolete algo types from hardcoded defaults
2019-10-29 18:07:32 -05:00
John Colvin
c057bf18f6
Merge remote-tracking branch 'origin/master' into algo-type-config
2019-10-29 18:07:01 -05:00
John Colvin
17a0bef824
Merge remote-tracking branch 'origin/master' into algo-type-config
2019-10-21 12:15:00 -05:00
John Colvin
9180c48b67
CompositeAlgoVM 'group' is AlgoDisplayGroup.Studio
2019-10-14 15:29:02 -05:00
John Colvin
01acbe08f5
remove dead code
2019-10-14 15:26:01 -05:00
John Colvin
8a47cd4821
exchange/security based algo type config
2019-10-14 15:19:36 -05:00
John Colvin
03050d9b07
refactor some Disposable.replace calls so that the prev hook is disposed before the new one is created
2019-10-14 13:25:21 -05:00
John Colvin
9178878880
AlgoStudio model does not really need to import AdminModel (just UserTuple)
2019-10-14 13:25:21 -05:00
John Colvin
f38b1c7af9
ContractPickerModel.result getter performs dictionary lookup (was brute force enumeration)
2019-10-14 13:25:21 -05:00
John Colvin
45cd958b1e
make security criteria clause immutable
2019-10-14 13:25:21 -05:00
John Colvin
4d49c8f030
add .rej to gitignore
2019-10-14 13:25:21 -05:00
John Colvin
b2227ce37b
DynamicOrderHelper stores dyn types in map
2019-10-14 13:25:21 -05:00