diff --git a/MarketData/MarketData/Models/CMT20200817.TXT b/MarketData/MarketData/Models/CMT20200817.TXT index 2d7fdb6..378d047 100755 --- a/MarketData/MarketData/Models/CMT20200817.TXT +++ b/MarketData/MarketData/Models/CMT20200817.TXT @@ -1,11 +1,11 @@ CMTSESSIONv1.00 -LastUpdated=4/10/2025 7:58:04 PM -TradeDate=4/10/2025 +LastUpdated=4/15/2025 1:18:42 AM +TradeDate=4/14/2025 StartDate=1/1/0001 -AnalysisDate=4/10/2025 +AnalysisDate=4/15/2025 CashBalance=9375.6 NonTradeableCash=6456.42 -SuspendTrading=False|UsePriceSlopeIndicator=True|UsePriceSlopeIndicatorDays=252|AnalysisDate=4/10/2025|BetaMonths=6|TradeDate=4/10/2025|MarketCapLowerLimit=500000000|SidewaysDetection=False|SidewaysAfterDays=30|PriceTrendDays=20|CheckOutliersInReturnStream=True|DailyReturnLimit=0.25|MaxDailyPositions=3|MaxOpenPositions=3|NoTradeSymbols=CODYY,MARUY,CSTM,CS,NATI,QADA,CRTO,GTBIF,CLCT,PRSC,CMD,STAY,GBTC,YOKU,PNY,RFMD,ASAZY,USMO,VNR,STB,XIV,SYNT,DFP|OnlyTradeSymbols=|MinRSI=70|InitialCash=10000|TotalRiskPercentDecimal=0.05|PositionRiskPercentDecimal=0.12|EquityOnly=False|MinPercentReturnProximityTo52WeekHigh=30|MinPercentReturnOver52WeekLow=80|ProfitMarginCheck=True|EPSCheck=True|MinDaysBetweenReholding=30|LiquidityCheck=True|MinVolume=1000|DMA200Horizon=15|MinDaysBetweenStopAdjustments=30|MinDaysBetweenInitialStopAdjustment=5|MaxPricingExceptions=3|MACDSetup=(12,26,9)|MACDSignalDays=5|MACDRejectStrongSells=True|MACDRejectWeakSells=True|UseMarketIndicator=True|Benchmark=SPY|BenchmarkMovingAverageDays=200|BenchmarkMovingAverageHorizon=5|UseMarketIndicatorVolatility=True|UseMarketIndicatorVolatilityHorizon=60|UseMarketIndicatorVolatilityBenchmark=^VIX|UseStopLimitScaling=True|StopLimitScalingType=AverageTrueRange|StopLimitScalingVolatilityDays=30|SellOnDMABreak=True|DMABreakValues=200|DMABreakForceBreak=False|EntryType=OverExtended,MVP,PriceTrend,VolumeTrend|EntryHorizon=30|CandidateExpiryDays=180|VolumeTrendDays=10|ChannelBreakoutHorizon=40|UseOverExtendedIndicatorDays=45|UseOverExtendedIndicatorViolationThreshhold=1|UseOverExtendedIndicatorMarginPercent=1|MaxBeta=10|UseMaxBeta=False|UseProfitMaximization=True|UseProfitMaximizationExpression=R_THRESSHOLD=4;MAX_ATR=3;MULTIPLIER=MAX_ATR;IF(RMultiple>=R_THRESSHOLD){MULTIPLIER=1.2;}|UseTradeOnlySectors=False|UseTradeOnlySectorsSectors=Healthcare,Technology,Basic Materials,Consumer Defensive,Industrials|EvaluateStopOnUpTrend=False +SuspendTrading=False|UsePriceSlopeIndicator=True|UsePriceSlopeIndicatorDays=252|AnalysisDate=4/15/2025|BetaMonths=6|TradeDate=4/14/2025|MarketCapLowerLimit=500000000|SidewaysDetection=False|SidewaysAfterDays=30|PriceTrendDays=20|CheckOutliersInReturnStream=True|DailyReturnLimit=0.25|MaxDailyPositions=3|MaxOpenPositions=3|NoTradeSymbols=CODYY,MARUY,CSTM,CS,NATI,QADA,CRTO,GTBIF,CLCT,PRSC,CMD,STAY,GBTC,YOKU,PNY,RFMD,ASAZY,USMO,VNR,STB,XIV,SYNT,DFP|OnlyTradeSymbols=|MinRSI=70|InitialCash=10000|TotalRiskPercentDecimal=0.05|PositionRiskPercentDecimal=0.12|EquityOnly=False|MinPercentReturnProximityTo52WeekHigh=30|MinPercentReturnOver52WeekLow=80|ProfitMarginCheck=True|EPSCheck=True|MinDaysBetweenReholding=30|LiquidityCheck=True|MinVolume=1000|DMA200Horizon=15|MinDaysBetweenStopAdjustments=30|MinDaysBetweenInitialStopAdjustment=5|MaxPricingExceptions=3|MACDSetup=(12,26,9)|MACDSignalDays=5|MACDRejectStrongSells=True|MACDRejectWeakSells=True|UseMarketIndicator=True|Benchmark=SPY|BenchmarkMovingAverageDays=200|BenchmarkMovingAverageHorizon=5|UseMarketIndicatorVolatility=True|UseMarketIndicatorVolatilityHorizon=60|UseMarketIndicatorVolatilityBenchmark=^VIX|UseStopLimitScaling=True|StopLimitScalingType=AverageTrueRange|StopLimitScalingVolatilityDays=30|SellOnDMABreak=True|DMABreakValues=200|DMABreakForceBreak=False|EntryType=OverExtended,MVP,PriceTrend,VolumeTrend|EntryHorizon=30|CandidateExpiryDays=180|VolumeTrendDays=10|ChannelBreakoutHorizon=40|UseOverExtendedIndicatorDays=45|UseOverExtendedIndicatorViolationThreshhold=1|UseOverExtendedIndicatorMarginPercent=1|MaxBeta=10|UseMaxBeta=False|UseProfitMaximization=True|UseProfitMaximizationExpression=R_THRESSHOLD=4;MAX_ATR=3;MULTIPLIER=MAX_ATR;IF(RMultiple>=R_THRESSHOLD){MULTIPLIER=1.2;}|UseTradeOnlySectors=False|UseTradeOnlySectorsSectors=Healthcare,Technology,Basic Materials,Consumer Defensive,Industrials|EvaluateStopOnUpTrend=False PricingExceptions=0 TotalActivePositions=0 TotalPositions=124 @@ -133,7 +133,7 @@ Symbol=AZZ|PurchaseDate=2/7/2025 12:00:00 AM|SellDate=3/4/2025 12:00:00 AM|S Symbol=AWI|PurchaseDate=2/14/2025 12:00:00 AM|SellDate=4/3/2025 12:00:00 AM|Shares=7|PurchasePrice=153.74|CurrentPrice=133.24|Exposure=1076.18|MarketValue=932.6800000000001|GainLoss=-143.5|GainLossPcnt=-0.13334200598412904|PositionRiskDecimal=0.12|R=18.4644|C=145.850071400525|P=7.89898785774382|InitialStopLimit=135.29|TrailingStopLimit=135.29|TotalRiskExposure=129.2508|RMultiple=-1.11R|Volatility=6.83095169067383|Volume=0|LastStopAdjustment=1/1/0001 12:00:00 AM|Comment=Manual close. Symbol=IDCC|PurchaseDate=2/7/2025 12:00:00 AM|SellDate=4/4/2025 12:00:00 AM|Shares=5|PurchasePrice=204.9|CurrentPrice=189.59|Exposure=1024.5|MarketValue=947.95|GainLoss=-76.54999999999995|GainLossPcnt=-0.0747193753050268|PositionRiskDecimal=0.12|R=24.5268|C=132.993071400525|P=5.422357233741254|InitialStopLimit=180.31|TrailingStopLimit=195.563070678711|TotalRiskExposure=122.63400000000001|RMultiple=-0.62R|Volatility=3.26635074615479|Volume=0|LastStopAdjustment=3/17/2025 12:00:00 AM|Comment=Manual close. Symbol=EXEL|PurchaseDate=3/4/2025 12:00:00 AM|SellDate=4/4/2025 12:00:00 AM|Shares=84|PurchasePrice=38.14|CurrentPrice=34.65|Exposure=3203.76|MarketValue=2910.6|GainLoss=-293.1600000000003|GainLossPcnt=-0.09150498164656537|PositionRiskDecimal=0.12|R=4.5948|C=389.4065|P=84.74939061547836|InitialStopLimit=33.56|TrailingStopLimit=34.6096426153183|TotalRiskExposure=385.96320000000003|RMultiple=-0.76R|Volatility=0.690388977527618|Volume=0|LastStopAdjustment=3/10/2025 12:00:00 AM|Comment=Manual close. -TotalCandidates=43 +TotalCandidates=42 Symbol=DY|AnalysisDate=10/16/2024 12:00:00 AM|EPSSlope=0.144999980926514|ProfitMarginSlope=1.94165134429932|PriceSlope=0.0033969090645739|Volatility=3.43753790855408|Volume=0|Violation=False|Slope=0.0033969090645739|Score=2.17204971866482|AnnualizedReturn=2.35377655817816|SharpeRatio=0.226838463949279|RSquared=0.92279350438684|BetaMonths=6|Beta=1.79626067805289 Symbol=HWKN|AnalysisDate=10/17/2024 12:00:00 AM|EPSSlope=0.134999990463257|ProfitMarginSlope=2.50229263305664|PriceSlope=0.00336771027808584|Volatility=3.29880928993225|Volume=0|Violation=False|Slope=0.00336771027808584|Score=2.15814101893551|AnnualizedReturn=2.33652081110955|SharpeRatio=0.183292132708591|RSquared=0.92365580853126|BetaMonths=6|Beta=0.127933808926812 Symbol=PBI|AnalysisDate=2/18/2025 12:00:00 AM|EPSSlope=0.529999971389771|ProfitMarginSlope=8.23810863494873|PriceSlope=0.00328707853229042|Volatility=0.761549234390259|Volume=0|Violation=False|Slope=0.00328707853229042|Score=1.99265117484619|AnnualizedReturn=2.28952366673464|SharpeRatio=0.235874736612309|RSquared=0.870334386055131|BetaMonths=6|Beta=1.93760551933142 @@ -144,9 +144,7 @@ Symbol=FICO|AnalysisDate=11/22/2024 12:00:00 AM|EPSSlope=0.715000152587891|Pro Symbol=CLS|AnalysisDate=11/15/2024 12:00:00 AM|EPSSlope=0.0500000715255737|ProfitMarginSlope=0.0128278732299805|PriceSlope=0.00336143510777781|Volatility=6.67109966278076|Volume=0|Violation=False|Slope=0.00336143510777781|Score=1.76334602800446|AnnualizedReturn=2.33282889033886|SharpeRatio=0.347770886168991|RSquared=0.75588314055401|BetaMonths=6|Beta=3.18798481345953 Symbol=KGC|AnalysisDate=10/17/2024 12:00:00 AM|EPSSlope=0.0250000059604645|ProfitMarginSlope=4.59023094177246|PriceSlope=0.00284423705520682|Volatility=0.267869532108307|Volume=0|Violation=False|Slope=0.00284423705520682|Score=1.73448348348323|AnnualizedReturn=2.0477625087161|SharpeRatio=0.225273943965948|RSquared=0.847013985313519|BetaMonths=6|Beta=1.20822170465775 Symbol=FIX|AnalysisDate=11/26/2024 12:00:00 AM|EPSSlope=0.579999923706055|ProfitMarginSlope=0.857433319091797|PriceSlope=0.00296384183534283|Volatility=22.0480003356934|Volume=0|Violation=False|Slope=0.00296384183534283|Score=1.72448863958231|AnnualizedReturn=2.11042245377406|SharpeRatio=0.192105819793835|RSquared=0.81712959246544|BetaMonths=6|Beta=0.911465816124593 -Symbol=MWA|AnalysisDate=10/15/2024 12:00:00 AM|EPSSlope=0.0750000178813934|ProfitMarginSlope=1.58966445922852|PriceSlope=0.00232377811094489|Volatility=0.638252377510071|Volume=0|Violation=False|Slope=0.00232377811094489|Score=1.69617232901659|AnnualizedReturn=1.79605408569864|SharpeRatio=-0.00789165779526134|RSquared=0.944388224454164|BetaMonths=6|Beta=0.305998806409611 Symbol=UI|AnalysisDate=11/15/2024 12:00:00 AM|EPSSlope=0.329999923706055|ProfitMarginSlope=3.38571166992188|PriceSlope=0.00336717288296883|Volatility=38.5753440856934|Volume=0|Violation=False|Slope=0.00336717288296883|Score=1.68834011355329|AnnualizedReturn=2.33620441254558|SharpeRatio=0.238413709791038|RSquared=0.722685097454141|BetaMonths=6|Beta=2.58126296044301 -Symbol=TSEM|AnalysisDate=10/14/2024 12:00:00 AM|EPSSlope=0.00999999046325684|ProfitMarginSlope=0.374054908752441|PriceSlope=0.00241187113373161|Volatility=0.970778405666351|Volume=0|Violation=False|Slope=0.00241187113373161|Score=1.68218933388137|AnnualizedReturn=1.83637133825705|SharpeRatio=0.0533868962472479|RSquared=0.916039854704975|BetaMonths=6|Beta=1.75560742589715 Symbol=VRT|AnalysisDate=11/19/2024 12:00:00 AM|EPSSlope=0.105000019073486|ProfitMarginSlope=0.961915969848633|PriceSlope=0.00335543591777693|Volatility=9.09689903259277|Volume=0|Violation=False|Slope=0.00335543591777693|Score=1.68055329309973|AnnualizedReturn=2.32930479376165|SharpeRatio=0.342727850670762|RSquared=0.721482777865991|BetaMonths=6|Beta=0.560791072082004 Symbol=GWRE|AnalysisDate=1/23/2025 12:00:00 AM|EPSSlope=0.215000003576279|ProfitMarginSlope=0.576732635498047|PriceSlope=0.00259144431071057|Volatility=9.23863506317139|Volume=0|Violation=False|Slope=0.00259144431071057|Score=1.64525275178649|AnnualizedReturn=1.92138055419607|SharpeRatio=0.0124191989206939|RSquared=0.856286771609847|BetaMonths=6|Beta=1.97814067528778 Symbol=VNET|AnalysisDate=12/30/2024 12:00:00 AM|EPSSlope=0.100000023841858|ProfitMarginSlope=0.773027420043945|PriceSlope=0.00369362186949024|Volatility=0.374787569046021|Volume=0|Violation=False|Slope=0.00369362186949024|Score=1.63782582155531|AnnualizedReturn=2.53651910774696|SharpeRatio=0.083648374094191|RSquared=0.645698199770352|BetaMonths=6|Beta=5.74217581715003 @@ -177,6 +175,7 @@ Symbol=RYCEY|AnalysisDate=3/19/2025 12:00:00 AM|EPSSlope=0.0249999910593033|Pr Symbol=NGD|AnalysisDate=3/31/2025 12:00:00 AM|EPSSlope=0.0499999970197678|ProfitMarginSlope=10.4842023849487|PriceSlope=0.00232738138187281|Volatility=0.19767764210701|Volume=0|Violation=False|Slope=0.00232738138187281|Score=1.38801517603269|AnnualizedReturn=1.7976856870603|SharpeRatio=0.176636628257535|RSquared=0.77211226969408|BetaMonths=6|Beta=1.38599232316458 Symbol=HMY|AnalysisDate=3/31/2025 12:00:00 AM|EPSSlope=0.0949999988079071|ProfitMarginSlope=7.81999158859253|PriceSlope=0.000958915922282952|Volatility=0.756851136684418|Volume=0|Violation=False|Slope=0.000958915922282952|Score=0.42995758143171|AnnualizedReturn=1.27334438395995|SharpeRatio=0.0765953133575468|RSquared=0.337660091682812|BetaMonths=6|Beta=0.252555748062678 Symbol=PLMR|AnalysisDate=4/2/2025 12:00:00 AM|EPSSlope=0.130000114440918|ProfitMarginSlope=1.64382266998291|PriceSlope=0.00198022214399565|Volatility=3.99359607696533|Volume=0|Violation=False|Slope=0.00198022214399565|Score=1.46847227175985|AnnualizedReturn=1.64709969443068|SharpeRatio=0.0538877894807512|RSquared=0.891550327357342|BetaMonths=6|Beta=1.06724722432736 +Symbol=AEM|AnalysisDate=4/11/2025 12:00:00 AM|EPSSlope=0.8899999856948853|ProfitMarginSlope=2.3184337615966797|PriceSlope=0.0019226769301614992|Volatility=4.713708400726318|Volume=0|Violation=False|Slope=0.0019226769301614992|Score=1.4160134067068757|AnnualizedReturn=1.6233868035255423|SharpeRatio=0.10558054191660131|RSquared=0.8722587886212272|BetaMonths=6|Beta=0.15812757144284204 TotalStopLimits=194 Symbol=CDNS|AnalysisDate=9/2/2020 12:00:00 AM|PreviousStop=97.9088|NewStop=109.599856939316|CurrentPriceLow=113.59|CurrentPriceClose=117.09|PriceTrendIndicatorSlope=0.310654103755951|StopLimitId= Symbol=LULU|AnalysisDate=9/2/2020 12:00:00 AM|PreviousStop=332.1824|NewStop=372.562428512573|CurrentPriceLow=387.08|CurrentPriceClose=398.29|PriceTrendIndicatorSlope=2.77707505226135|StopLimitId= diff --git a/MarketData/MarketData/Models/MGSH20250331.TXT b/MarketData/MarketData/Models/MGSH20250331.TXT index 5a8d8b1..74019cb 100755 --- a/MarketData/MarketData/Models/MGSH20250331.TXT +++ b/MarketData/MarketData/Models/MGSH20250331.TXT @@ -1,17 +1,17 @@ MGSHSESSIONv2.00 -LastUpdated=4/10/2025 7:55:27 PM -TradeDate=4/11/2025 +LastUpdated=4/15/2025 1:09:54 AM +TradeDate=4/15/2025 StartDate=3/31/2025 -AnalysisDate=4/10/2025 +AnalysisDate=4/15/2025 Cycle=0 CashBalance=6787.66 NonTradeableCash=0 HedgeCashBalance=3000 Verbose=True|KeepSlotPositions=True|BenchmarkMode=False|BenchmarkModeSymbol=SPY|HoldingPeriod=3|MaxPositions=3|NoTradeSymbols=GBTC,YOKU,PNY,RFMD,ASAZY|NoTradeFinancialSymbols=U.S. Private Equity,U.S. Financials,U.S. Financial Services,U.S. Banking and Investment Services,Trading-Miscellaneous,Trading--Miscellaneous,Trading--Leveraged Equity,Trading--Leveraged Debt,Trading--Leveraged Commodities,Trading--Inverse Equity,Trading--Inverse Commodities,Tactical Allocation,Specialty Finance,Japan Financials,Savings & Cooperative Banks,Option Writing,Insurance Brokers,Insurance - Specialty,Insurance - Reinsurance,Insurance - Property & Casualty,Insurance - Life,Insurance - Diversified,Global Private Equity,Global Financials,Financial Services,Financial Exchanges,Financial,China Financials,Banks - Regional - US,Banks - Regional - Latin America,Banks - Global,Asset Management,Credit Services|Benchmark=SPY|MarketCapLowerLimit=1000000000|UsePEScreen=False|UseEBITDAScreen=True|UseRevenuePerShareScreen=True|UseLowSlopeBetaCheck=True|LowSlopeBetaDays=15|LowSlopeBetaThreshhold=1|UseMACD=True|MACDSetup=(12,26,9)|MACDSignalDays=12|MACDRejectStrongSellSignals=False|MACDRejectWeakSellSignals=True|UseStochastics=True|StochasticsSignalDays=3|StochasticsRejectStrongSells=True|StochasticsRejectWeakSells=True|UseFallbackCandidate=True|FallbackCandidate=SHV|FallbackCandidateBestOf=SHV,NEAR,BIL,GSY,AGG,ACWX,GSY,SCHF,IXUS,DBEF,IEFA,TLT|UseMaxPEScreen=True|MaxPE=40|StrictMaxPE=False|QualityIndicatorType=IDINDICATOR|IncludeTradeMasterForSymbolsHeld=True|UseStopLimits=True|StopLimitRiskPercentDecimal=0.2|StopLimitScalingVolatilityDays=30|MinDaysBetweenInitialStopAdjustment=30|MinDaysBetweenStopAdjustments=30|StopLimitPriceTrendDays=20|StopLimitATRMultiplier=3|UseHedging=True|HedgeBenchmarkSymbol=SPY|HedgeShortSymbol=SH|HedgeRiskPercentDecimal=0.12|HedgeMinDaysBetweenStopAdjustments=1|HedgeInitialCash=3000|HedgeCloseAboveSMANDays=10|HedgeBandBreakCheckDays=3|HedgeATRMultiplier=1|MaxPricingExceptions=3|UseBetaGenerator=True|UseBetaGeneratorMonths=24 TotalActivePositions=3 -Slot=0|Symbol=MO|PurchaseDate=3/31/2025 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=18|PurchasePrice=59.91|CurrentPrice=56.38|Volume=17335180|Return1D=0|CumReturn252=0|IDIndicator=-15.9362549800797|Score=1.14749269300042|Velocity=0.967136150234742|PE=9|Beta=0.572465642401382|InitialStopLimit=47.93|TrailingStopLimit=47.93|LastStopAdjustment=1/1/0001 12:00:00 AM|PositionRiskPercentDecimal=0.2|R=12.004|Comment=.Price changed on 4/1/2025 from $60.02 to $59.91 -Slot=0|Symbol=EXC|PurchaseDate=3/31/2025 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=24|PurchasePrice=45.76|CurrentPrice=45.12|Volume=14993121|Return1D=0|CumReturn252=0|IDIndicator=-8.76494023904382|Score=0.405636492837393|Velocity=1|PE=18.02|Beta=0.248374476251328|InitialStopLimit=36.61|TrailingStopLimit=36.61|LastStopAdjustment=1/1/0001 12:00:00 AM|PositionRiskPercentDecimal=0.2|R=9.216|Comment=.Price changed on 4/1/2025 from $46.08 to $45.76 -Slot=0|Symbol=SXT|PurchaseDate=3/31/2025 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=14|PurchasePrice=73.98|CurrentPrice=72.71|Volume=362866|Return1D=0|CumReturn252=0|IDIndicator=-7.17131474103586|Score=0.447832358242973|Velocity=0.447678018575852|PE=24.93|Beta=0.640557790575348|InitialStopLimit=59.18|TrailingStopLimit=59.18|LastStopAdjustment=1/1/0001 12:00:00 AM|PositionRiskPercentDecimal=0.2|R=14.886|Comment=.Price changed on 4/1/2025 from $74.43 to $73.98 +Slot=0|Symbol=MO|PurchaseDate=3/31/2025 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=18|PurchasePrice=59.91|CurrentPrice=57.13|Volume=17335180|Return1D=0|CumReturn252=0|IDIndicator=-15.9362549800797|Score=1.14749269300042|Velocity=0.967136150234742|PE=9|Beta=0.572465642401382|InitialStopLimit=47.93|TrailingStopLimit=47.93|LastStopAdjustment=1/1/0001 12:00:00 AM|PositionRiskPercentDecimal=0.2|R=12.004|Comment=.Price changed on 4/1/2025 from $60.02 to $59.91 +Slot=0|Symbol=EXC|PurchaseDate=3/31/2025 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=24|PurchasePrice=45.76|CurrentPrice=46.86|Volume=14993121|Return1D=0|CumReturn252=0|IDIndicator=-8.76494023904382|Score=0.405636492837393|Velocity=1|PE=18.02|Beta=0.248374476251328|InitialStopLimit=36.61|TrailingStopLimit=36.61|LastStopAdjustment=1/1/0001 12:00:00 AM|PositionRiskPercentDecimal=0.2|R=9.216|Comment=.Price changed on 4/1/2025 from $46.08 to $45.76 +Slot=0|Symbol=SXT|PurchaseDate=3/31/2025 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=14|PurchasePrice=73.98|CurrentPrice=74.86|Volume=362866|Return1D=0|CumReturn252=0|IDIndicator=-7.17131474103586|Score=0.447832358242973|Velocity=0.447678018575852|PE=24.93|Beta=0.640557790575348|InitialStopLimit=59.18|TrailingStopLimit=59.18|LastStopAdjustment=1/1/0001 12:00:00 AM|PositionRiskPercentDecimal=0.2|R=14.886|Comment=.Price changed on 4/1/2025 from $74.43 to $73.98 TotalPositions=0 TotalStopLimits=0 TotalHedgePositions=0 diff --git a/MarketData/MarketDataLib/DataAccess/CompanyProfileDA.cs b/MarketData/MarketDataLib/DataAccess/CompanyProfileDA.cs index 86f6da7..d502cce 100755 --- a/MarketData/MarketDataLib/DataAccess/CompanyProfileDA.cs +++ b/MarketData/MarketDataLib/DataAccess/CompanyProfileDA.cs @@ -15,7 +15,6 @@ namespace MarketData.DataAccess // *********************************************************************************************************** public static bool UpdateCompanyProfile(CompanyProfile companyProfile) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlTransaction sqlTransaction = null; MySqlCommand sqlCommand=null; @@ -67,13 +66,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlTransaction) sqlTransaction.Dispose(); if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static CompanyProfiles GetCompanyProfiles() { - Profiler profiler = new Profiler(); CompanyProfiles companyProfiles=new CompanyProfiles(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; @@ -115,13 +112,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static CompanyProfile GetCompanyProfile(String symbol) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -160,14 +155,12 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } // This handles the actual company profile table where we store additional company related informtion private static bool CompanyProfileDetailsExists(CompanyProfile companyProfile,MySqlConnection sqlConnection,MySqlTransaction sqlTransaction) { - Profiler profiler = new Profiler(); MySqlDataReader sqlDataReader=null; MySqlCommand sqlCommand=null; String strQuery = null; @@ -193,13 +186,11 @@ namespace MarketData.DataAccess { if(null!=sqlCommand)sqlCommand.Dispose(); if(null!=sqlDataReader){sqlDataReader.Close();sqlDataReader.Dispose();} - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } private static bool InsertCompanyProfileDescription(CompanyProfile companyProfile,MySqlConnection sqlConnection,MySqlTransaction sqlTransaction) { - Profiler profiler = new Profiler(); MySqlCommand sqlCommand=null; String strQuery = null; @@ -225,13 +216,11 @@ namespace MarketData.DataAccess finally { if(null!=sqlCommand)sqlCommand.Dispose(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } private static bool UpdateCompanyProfileDescription(CompanyProfile companyProfile,MySqlConnection sqlConnection,MySqlTransaction sqlTransaction) { - Profiler profiler = new Profiler(); MySqlCommand sqlCommand=null; String strQuery = null; @@ -255,7 +244,6 @@ namespace MarketData.DataAccess finally { if(null!=sqlCommand)sqlCommand.Dispose(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } } diff --git a/MarketData/MarketDataLib/DataAccess/FundamentalDA.cs b/MarketData/MarketDataLib/DataAccess/FundamentalDA.cs index 2ed714e..1f04051 100755 --- a/MarketData/MarketDataLib/DataAccess/FundamentalDA.cs +++ b/MarketData/MarketDataLib/DataAccess/FundamentalDA.cs @@ -12,7 +12,6 @@ namespace MarketData.DataAccess } public static bool CheckFundamentalModifiedOn(String symbol,DateTime modified) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand =null; @@ -44,12 +43,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static DateTime GetLatestDate(String symbol) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -82,12 +79,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if(null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static TimeSeriesCollection GetTotalCashMils(String symbol) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand =null; @@ -127,12 +122,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static TimeSeriesCollection GetPERatio(String symbol) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand =null; @@ -172,12 +165,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static TimeSeriesCollection GetEPS(String symbol,DateTime? maxDate=null) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand = null; @@ -218,12 +209,10 @@ namespace MarketData.DataAccess if (null != sqlCommand) sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static Fundamental GetFundamental(String symbol) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand =null; @@ -286,12 +275,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static Fundamental GetFundamental(String symbol, DateTime asof) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -357,13 +344,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } // get the maximum date on record on or before asof public static DateTime? GetMaxDateFromFundamental(String symbol,DateTime asof) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -397,12 +382,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static Fundamental GetFundamentalMaxDate(String symbol, DateTime asof) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -472,13 +455,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static Fundamentals GetFundamentalMaxDateTop(String symbol, DateTime asof, int top) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -554,13 +535,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static bool InsertFundamentals(Fundamentals fundamentals) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlTransaction sqlTransaction = null; String strQuery = null; @@ -651,13 +630,11 @@ namespace MarketData.DataAccess { if(null!=sqlTransaction)sqlTransaction.Dispose(); if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static bool InsertFundamental(Fundamental fundamental) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlTransaction sqlTransaction = null; String strQuery = null; @@ -744,7 +721,6 @@ namespace MarketData.DataAccess { if(null!=sqlTransaction)sqlTransaction.Dispose(); if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } private static bool DeleteFundamentals(Fundamentals fundamentals, MySqlConnection sqlConnection, MySqlTransaction sqlTransaction) @@ -757,7 +733,6 @@ namespace MarketData.DataAccess } private static bool DeleteFundamental(Fundamental fundamental, MySqlConnection sqlConnection, MySqlTransaction sqlTransaction) { - Profiler profiler = new Profiler(); StringBuilder sb = new StringBuilder(); String strQuery = null; @@ -783,7 +758,6 @@ namespace MarketData.DataAccess } finally { - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } } diff --git a/MarketData/MarketDataLib/DataAccess/IncomeStatementDA.cs b/MarketData/MarketDataLib/DataAccess/IncomeStatementDA.cs index fc83957..98b6a36 100755 --- a/MarketData/MarketDataLib/DataAccess/IncomeStatementDA.cs +++ b/MarketData/MarketDataLib/DataAccess/IncomeStatementDA.cs @@ -10,7 +10,6 @@ namespace MarketData.DataAccess // ********************************************* I N C O M E S T A T E M E N T ************************************** public static bool CheckIncomeStatementModifiedOn(String symbol, DateTime modified,IncomeStatement.PeriodType periodType) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -43,12 +42,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static List GetIncomeStatementDates(String symbol,IncomeStatement.PeriodType periodType) { - Profiler profiler = new Profiler(); List incomeStatementDates = new List(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; @@ -83,12 +80,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static DateTime? GetLatestIncomeStatementDate(String symbol,IncomeStatement.PeriodType periodType) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -123,12 +118,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static IncomeStatement GetIncomeStatement(String symbol,IncomeStatement.PeriodType periodType) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -177,7 +170,6 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static TimeSeriesCollection GetRevenue(String symbol,IncomeStatement.PeriodType period) @@ -221,13 +213,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } // Profit Margin is calculated as a percentage. public static TimeSeriesCollection GetProfitMargin(String symbol,IncomeStatement.PeriodType period=IncomeStatement.PeriodType.Annual) { - Profiler profiler = new Profiler(); TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; @@ -271,13 +261,11 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } // Profit Margin is calculated as a percentage. public static TimeSeriesCollection GetProfitMarginMaxAsOf(String symbol,DateTime maxDate, IncomeStatement.PeriodType period = IncomeStatement.PeriodType.Annual) { - Profiler profiler = new Profiler(); TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; @@ -322,12 +310,10 @@ namespace MarketData.DataAccess if (null != sqlCommand) sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static IncomeStatement GetIncomeStatement(String symbol,DateTime asof,IncomeStatement.PeriodType periodType) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -374,12 +360,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static IncomeStatement GetIncomeStatementMaxAsOf(String symbol,DateTime asof,IncomeStatement.PeriodType periodType) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlDataReader sqlDataReader = null; MySqlCommand sqlCommand=null; @@ -427,12 +411,10 @@ namespace MarketData.DataAccess if(null!=sqlCommand)sqlCommand.Dispose(); if (null != sqlDataReader) {sqlDataReader.Close();sqlDataReader.Dispose();} if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } public static bool InsertIncomeStatements(List incomeStatements) { - Profiler profiler = new Profiler(); MySqlConnection sqlConnection = null; MySqlTransaction sqlTransaction = null; String strQuery = null; @@ -495,7 +477,6 @@ namespace MarketData.DataAccess { if (null != sqlTransaction) sqlTransaction.Dispose(); if (null != sqlConnection) sqlConnection.Close(); - MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()}(ms)"); } } private static bool DeleteIncomeStatements(List incomeStatements, MySqlConnection sqlConnection, MySqlTransaction sqlTransaction)