58 Commits

Author SHA1 Message Date
554f577803 Add logic to all models to avoid selling and immediately buying back the same security as this is considered a Wash Trade and is illegal. 2026-03-19 19:46:19 -04:00
05b9ac3897 Merge branch 'MKDT_CNN01' 2026-03-10 21:45:50 -04:00
22b387a2e3 Push MarketData Changes. 2026-03-10 21:43:40 -04:00
5c1dd6b2c5 Ensure GetModelPerformance does not short return when a price is missing. 2026-03-10 12:47:14 -04:00
2f9c01e5a0 Fix GLPriceCache 2026-02-26 16:24:35 -05:00
6d966c4f28 Additions 2026-02-19 09:13:15 -05:00
87f36345ff Changes to display of Buys and Sells. 2025-12-01 19:45:58 -05:00
ac739d57f4 Fix MGSHBacktest Edit/Close hedge positions. 2025-08-04 22:21:48 -04:00
332ed89e5a Add BarChart 2025-06-30 13:17:13 -04:00
b34722ec21 Fix AnalysisDate getting set to Epoch when editing or closing positions. 2025-06-02 19:07:11 -04:00
863f7cc703 Carry TradeDate and AnalysisDate to the Parameters. 2025-06-01 13:22:47 -04:00
e16034585e Fix the monthly runs when running the month end process on the weekend... was picking the TradeDate as a weekend date.
Now if we run the model over the weekend the TradeDate and AnalysisDate will the the prior business day.
2025-05-31 12:09:43 -04:00
57f9f4857a Point database to Adrastea. Fix MGSHBacktest.cs PerformanceStatistics. Provide an optimized PricingDA.GetLatestPrices() for use with the UI TradeBlotter. 2025-05-19 17:21:26 -04:00
e60d95b143 Add BetaCalc36,24,06 . Optimize MG 2025-05-09 17:40:13 -04:00
59ba764ae2 Updates to support calculated betas in the fundamental feed. 2025-05-06 19:07:18 -04:00
c0384feb95 Sync up with changes from ARM64 2025-05-01 14:08:33 -04:00
c9ec1a4ee8 Update 2025-05-01 11:28:28 -04:00
831e43e3b2 minor bug fix. 2025-04-15 22:05:31 -04:00
93c0642336 Code cleanup and optimization of CMTModel, code cleanup MGSH, added ConsoleColor to MDTrace. 2025-04-10 19:15:21 -04:00
1c69861ad5 Fix LocalPriceCache. Fix MGSHMomentum/MGSHSessionManager.cs 2025-04-09 17:22:15 -04:00
803fd5c45c Fix SessionManager 2025-04-08 21:06:03 -04:00
8371775411 Optimizations 2025-04-08 12:59:57 -04:00
30c90cb56c Optimizations 2025-03-31 15:40:02 -04:00
46e080923f Code cleanup. 2025-03-03 19:41:45 -05:00
2365d1b9c4 Code cleanup 2025-02-25 20:33:28 -05:00
835c5be11a Add Edit/Close positions for MG and CM models. Remove the Fix for purchase date sell date fall on weekend. Dead code elimination 2025-02-25 15:40:13 -05:00
c16c1f4988 Add interfaces, add edit position , close position to MG model. 2025-02-24 21:26:30 -05:00
eda09a7f4f Added EvaluateStopOnUpTrend. The default is FALSE. This worked out well in backtests. 2025-02-22 22:17:03 -05:00
e50ac03b33 Add StopLimitATRMultiplier as a configurable parameter.
Code cleanup.
2025-02-22 22:15:37 -05:00
1f7aec2391 50 day moving average must remain above 200 day moving average in order for candidate to be selected. 2025-02-20 10:34:59 -05:00
aebd58be25 Code cleanup. 2025-02-20 10:34:04 -05:00
6f96ba3e22 BetaGenerator and some code cleanup 2025-02-14 18:56:11 -05:00
22a8b743a2 Hedge Cash + Code Cleanup 2025-02-13 15:02:19 -05:00
8090a5e093 Add ClosePosition log and fix bug in the initial stop limit adjustment where it was possible to adjust a stop limit downwards. 2025-02-11 19:19:05 -05:00
61ab01db83 Fix bug in initial stop limit adjustment where it is possible for a stop limit to be adjusted downwards. 2025-02-11 19:17:54 -05:00
0db4473632 Changes for MGSHBacktest model.
Code cleanup.
2025-02-10 07:57:00 -05:00
b7f72ef25a Fix Backtest runs VS production run. Align dates. 2025-02-07 15:59:27 -05:00
d882b10ec0 Fix dictionary access. 2025-02-07 15:57:21 -05:00
348471cbdf Fix MaxUpside 2025-02-06 16:47:00 -05:00
8bac96e8ff New model 2025-02-06 16:46:27 -05:00
47a92584a2 Remove unnecessary usings. 2025-02-02 16:50:31 -05:00
22b8abd7f1 Removed 2025-02-02 16:43:22 -05:00
4d9f18d21e Fix rejection statistics 2025-02-02 16:42:53 -05:00
2731016325 Replaced 2025-02-02 16:42:29 -05:00
2882559651 Fix GetMonthlyPrices in Prices. It was not correctly returning monthly prices.
This was causing an issue in the SharpeRatioGenerator whereby the SharpeRatio was not being calculated correctly where the asof date would
fall on a weekend of holiday.
Also, added a ReasonCategory to the CMCanidate as well as a Violation summary line in the model output to show where violations occur.
Had I implemented this previously I might have detected the SharpeRatio issue sooner.
Also added GetFundamentalMaxDateTop in the FundamentalDA which I used during debugging but is not currently being used anywhere.
2025-02-02 14:59:14 -05:00
1e130e3a15 Added ExponentialMovingAverageCrossover and moved all of the moving average stuff into it's own folder. 2025-01-31 18:13:22 -05:00
822221f9bb Code cleanup MovingAverageGenerator 2025-01-29 20:40:34 -05:00
a1b15682ce Fix issue in exponential moving average generator. Although I found where the generator was being used....the context
of the usage has no impact on the issue with the generator because the usage was only using the first index in the
exponential moving average which always amounts to just the value of the simple moving average.  (i.e.) smoothing does
not occur on the first index, only subsequent indices are smoothed.
2025-01-29 11:12:37 -05:00
84af4b6be5 Code cleanup. 2025-01-24 11:21:58 -05:00
c4b0011317 Fix potential issue when selecting the fallback candidate and share count is zero. 2025-01-20 09:44:09 -05:00