-
Notifications
You must be signed in to change notification settings - Fork 226
Description
Describe the bug
The timestamp created by quill rolls back.
To Reproduce
Steps to reproduce the behaviour if possible
Expected Behaviour
The timestamp should increase monotonically.
Environment Details
- Library Version: V7.5.0
- Operating System: Ubuntu 24.04
- Compiler: GCC 14.3.0
Additional context
Add any other context about the problem here.
Hi Odysseas,
I am encountering a timestamp rolling back when running quill v7.5.0.
[2025-09-04 10:26:39.346166342 CST] [ArbStrat.hpp:Calc] [INFO] pdiff: 4, ndiff: 0
[2025-09-04 10:26:39.855610505 CST] [ArbStrat.hpp:Calc] [INFO] pdiff: 5.800000000000182, ndiff: 0
[2025-09-04 10:26:39.855576306 CST] [ArbStrat.hpp:Calc] [WARNING] +F(7136.4) -O(7300: -C(95.4|5) +P(253.2|5)) found! CrossSpread Profit(5.800000000000182)!
[2025-09-04 10:26:39.855589717 CST] [ArbStrat.hpp:Calc] [INFO] pdiff: 5.600000000000364, ndiff: 0
[2025-09-04 10:26:39.855589804 CST] [ArbStrat.hpp:Calc] [WARNING] +F(7136.4) -O(7300: -C(95.4|5) +P(253.4|6)) found! CrossSpread Profit(5.600000000000364)!
[2025-09-04 10:26:40.378107438 CST] [ArbStrat.hpp:Calc] [INFO] pdiff: 3.4000000000005457, ndiff: 0
[2025-09-04 10:26:40.848865003 CST] [ArbStrat.hpp:Calc] [INFO] pdiff: 4.199999999999818, ndiff: 0
we can see that the timestamp in line 3 is less than line 2.
The code is listed as below:
LOG_INFO(gOutLogger, "pdiff: {}, ndiff: {}", pdiff.maxCoeff(), ndiff.minCoeff());
if (Index maxidx; flshr_<=0 && pdiff.maxCoeff(&maxidx) > thresh_)
{
LOG_WARNING(gOutLogger, "+F({}) -O({}: -C({}|{}) +P({}|{})) found! CrossSpread Profit({})!", fap_, strikes_[maxidx],
ecbps[maxidx], ecbvs[maxidx], epaps[maxidx], epavs[maxidx], pdiff[maxidx]);
}
where gOutLogger is a global singleton using stdout.