Compare commits

..
6 Commits
Author SHA1 Message Date
Jake Norbut 02ed327ec7 clarifying tests 2019-03-12 16:20:46 -05:00
Jake Norbut e9162263d6 Merge branch 'master' of bitbucket.org:bluetradesys/spark 2019-03-12 16:14:03 -05:00
Jake Norbut 3b3cc9a51c clarifying test 2019-03-12 16:13:51 -05:00
John Colvin 54f03c4a03 Merged in SPARK-2107-sound-triggers (pull request #193)
SPARK-2107 QA: settings/SoundAndNotificationsTest.txt
2019-03-12 17:58:36 +00:00
Pedro Pinto c4d297969b Improved tests. 2019-03-12 13:54:12 -04:00
John Colvin 1f86456437 SPARK-2107 QA: settings/SoundAndNotificationsTest.txt 2019-03-12 12:50:32 -05:00
5 changed files with 21 additions and 15 deletions

No files matched your search

@@ -85,7 +85,7 @@ namespace bts.shell {
void _on_orders(TableUpdate<(SecurityImmutable?,OrderRecordImmutable),uint> update) {
// must update notification_service_data_cache first, some of the predicate/triggers (esp. ToastNotifications) will use the notification_service_data_cache to lookup order-history
_data_cache.update(update.as_iincremental());
foreach (var o in update.added)
foreach (var o in update.added.Concat(update.changed))
_order_notifications.process_item(o);
}
+2 -1
View File
@@ -75,6 +75,7 @@ SODTime{
}
Restart sparkd and the SOD process should consolidate your day fills so...
(note: in previous occasions it was necessary bounce the shell or otherwise cause a MD change for this to work)
ACC A:
Start Net Pos -1
@@ -104,7 +105,7 @@ Sell a 1 lot as the current bid in ACC A
Day Short 1
Day PnL -37.5
Total Net Pos -2
Total PnL -50
Total PnL -75
PnL Price 14.0125 (displayed as 14.015)
ACC A1:
Start Net Pos 1 (no change)
+6 -6
View File
@@ -4,9 +4,9 @@ rm ~/sparkdata/data/databases/orders/*
and bounce your server.
0. We will force fills across for 3 securities, across 2 accounts.
a. Pick 2 futures and one exchange traded spread (make sure there are no overlaps).
a. Pick 2 futures and one exchange traded spread, all on different symbols
b. Choose these securities such that there is market data (sim or cert) that you can get fills against (maybe bring up the market view and select securities from there).
c. Bring up the 6 ladders. Make sure the position button the ladder displays
c. Bring up the 6 ladders. Make sure the position button the ladder displays (Ladder Settings -> Left Panel -> Account Position should be checked, and the position will be displayed below the order type)
1. Force buy and sell fills across the 6 ladders. Keep track
of the long and short positions and verify that that the position
@@ -16,13 +16,13 @@ Open up the PNL and make sure the Day Long and Day Short positions match what yo
The Start Net Pos should be 0. (The Total Net Pos in the PNL should match the pos button
in the ladder)
2. Now comes the SOD part. The SOD is what demarcates a day. Find the most recent time on your fills, select 1 minute past that and convert it to UTC and override the SOD time in your spark.conf
2. Now comes the SOD part. The SOD is what demarcates a day. Find the most recent time on your fills, select 1 minute past that override the SOD time in your spark.conf
Here's an example of what the key looks like:
Here's an example of what the key looks like, assuming your last fill was say at 10:29 and its now 10:35
SODTime{
value {
sod_hh: 21
sod_hh: 10
sod_mm: 30
}
}
@@ -33,4 +33,4 @@ SODTime{
5. Verify that the PNL is displaying the correct Start Net Pos and the Day part is 0.
6. Now force a few more fills. Verify that the ladder position box and the PNL is correctly counting them.
6. Now force a few more fills. Verify that the ladder position box and the PNL is correctly counting them.
@@ -7,7 +7,9 @@ This test assumes the user has done the test in simple_sanity.txt
2. Now we are going to force a legged hedge, ie a hedge that does not get filled.
The way to do this is to drag the quoting order to force a cross, which will in turn send a hedge
that joins the market instead of crossing it. So drag the quoting order all the way to the bid side
to cross it with 5 @ 18.50. This should cause a fill in the quoting leg at 18.50 and a hedge order
to cross it with 5 @ 18.50; the quoting order can be found at 18.630, so be sure to scroll up if you don't initially see it.
This should cause a fill in the quoting leg at 18.50 and a hedge order
will be sent at 18.20. Verify this. This hedge order will keep working there (since we don't have
any post hedging rules right now). Now cancel the hedge order (which will aslo cxl the speader order)
@@ -15,6 +17,6 @@ any post hedging rules right now). Now cancel the hedge order (which will aslo c
4. Repeat step 1 and repeat 2 to the point where you have a working hedge order.
Now move the opposite inside market of the hedger (which is the ask order at 18.30) gradually away from the
hedging order to finally being 26 ticks away. The spreader moves the hedger order 3 ticks into the opposite
inside market and cause a fill. The spreader order will be filled too. Verify that the order was indeed sent
3 ticks into the opposite inside market
hedging order to finally being 26 ticks away (at 18.330). The spreader moves the hedger order 3 ticks into the opposite
inside market and cause a fill. The spreader order will be filled too. Verify that the order was indeed sent
3 ticks into the opposite inside market (18.345)
@@ -7,9 +7,12 @@ This test assumes the user has done the test in simple_sanity.txt
2. Now we are going to force a legged hedge, ie a hedge that does not get filled.
The way to do this is to drag the quoting order to force a cross, which will in turn send a hedge
that joins the market instead of crossing it. So drag the quoting order all the way to the bid side
to cross it with 5 @ 18.50. This should cause a fill in the quoting leg at 18.50 and a hedge order
to cross it with 5 @ 18.50; the quoting order can be found at 18.630, so be sure to scroll up if you don't initially see it.
This should cause a fill in the quoting leg at 18.50 and a hedge order
will be sent at 18.20. Verify this. This hedge order will keep working there (since we don't have
any post hedging rules right now). Now cancel the spreader order.
any post hedging rules right now). Now cancel the hedge order (which will aslo cxl the speader order)
3. Enable the Post-Hedge Time Based Cross for the hedging leg. Put 10,000 for Time(ms)
and 5 for the Cross Ticks.
@@ -18,4 +21,4 @@ and 5 for the Cross Ticks.
You should see the Hedging order working at 18.20. This time the hedge order should
not wait forever, but after 10 seconds, it should cross the opposite inside market by 5 ticks.
The spreader order will be filled too. Verify that the order was indeed sent 5 ticks into
the opposite inside market
the opposite inside market (18.355)