Combine open positions and watchlist pricing feeds into one intraday feed.
This commit is contained in:
@@ -26,6 +26,7 @@ namespace MarketData.Services
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEDAILY2 /DATE:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATELATESTPRICEOPENPOSITIONS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATELATESTPRICEWATCHLIST /WATCHLIST:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEINTRADAYPRICING:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATELATESTANALYSTRATINGS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEANALYSTRATINGS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATESECFILINGSWATCHLIST /WATCHLIST:");
|
||||
@@ -55,6 +56,7 @@ namespace MarketData.Services
|
||||
tasks.Add("UPDATEDAILY2",TaskUpdateDaily2);
|
||||
tasks.Add("UPDATELATESTPRICEOPENPOSITIONS",TaskUpdateLatestPriceOpenPositions);
|
||||
tasks.Add("UPDATELATESTPRICEWATCHLIST",TaskUpdateLatestPriceWatchList);
|
||||
tasks.Add("UPDATEINTRADAYPRICING",TaskUpdateIntradayPricing);
|
||||
tasks.Add("UPDATELATESTANALYSTRATINGS",TaskUpdateLatestAnalystRatings);
|
||||
tasks.Add("UPDATEANALYSTRATINGS",TaskUpdateAnalystRatings);
|
||||
tasks.Add("UPDATESECFILINGSWATCHLIST",TaskUpdateSECFilingsWatchList);
|
||||
@@ -180,7 +182,33 @@ namespace MarketData.Services
|
||||
if(!commandArgs.Has("WATCHLIST")){Console.WriteLine("UPDATELATESTPRICEWATCHLIST MISSING WATCHLIST");return;}
|
||||
UpdateLatestPriceWatchList(commandArgs.Coalesce<String>("WATCHLIST"));
|
||||
await Task.FromResult(true);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task TaskUpdateIntradayPricing(CommandArgs commandArgs)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(!CheckRunCriteria())return;
|
||||
String watchListName="Valuations";
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"UPDATEINTRADAYPRICING");
|
||||
List<String> watchlistSymbols = WatchListDA.GetWatchList(watchListName);
|
||||
PortfolioTrades portfolioTrades=PortfolioDA.GetOpenTrades();
|
||||
List<String> portfolioSymbols=(from PortfolioTrade portfolioTrade in portfolioTrades select portfolioTrade.Symbol).Distinct().ToList();
|
||||
if(portfolioSymbols.Any(x=>x.Equals("SPY")))portfolioSymbols.Add("SH");
|
||||
List<String> symbols = new List<String>();
|
||||
symbols.AddRange(portfolioSymbols);
|
||||
symbols.AddRange(watchlistSymbols);
|
||||
symbols = symbols.Distinct().ToList();
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Updating {symbols.Count} prices. Includes {portfolioSymbols.Count} open positions and {watchlistSymbols.Count} Valuation watchlist.");
|
||||
PricingMarketDataHelper pricingMarketDataHelper=new PricingMarketDataHelper();
|
||||
pricingMarketDataHelper.UpdateLatestPrices(symbols);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,exception);
|
||||
}
|
||||
await Task.FromResult(true);
|
||||
}
|
||||
|
||||
public async Task TaskUpdateLatestAnalystRatings(CommandArgs commandArgs)
|
||||
{
|
||||
|
||||
38
README.md
38
README.md
@@ -82,32 +82,28 @@ Also note that 1>/dev/null is synonymous to, but more explicit than >/dev/null
|
||||
|
||||
# sudo service cron reload , sudo service cron restart
|
||||
# cron helper app here -> https://cron.help/#*/5_9-17_*_*_1-5
|
||||
DOTNET_ROOT=/opt/dotnet
|
||||
*/15 6-16 * * 1-5 /opt/MarketData/MarketData/mk LOADHEADLINESWATCHLIST /WATCHLIST:Valuations 2>&1 | logger -t headlines
|
||||
*/5 5-16 * * 1-5 /opt/MarketData/MarketData/mk LOADPREMARKETDATA 2>&1 | logger -t premarket
|
||||
*/5 9-16 * * 1-5 /opt/MarketData/MarketData/mk UPDATELATESTPRICEOPENPOSITIONS 2>&1 | logger -t priceopenpositions
|
||||
*/5 9-16 * * 1-5 /opt/MarketData/MarketData/mk UPDATELATESTPRICEWATCHLIST /WATCHLIST:Valuations 2>&1 | logger -t pricewatchlist
|
||||
*/30 9-16 * * 1-5 /opt/MarketData/MarketData/mk UPDATELATESTANALYSTRATINGS 2>&1 | logger -t analystratings
|
||||
0 19 * * 1-5 /opt/MarketData/MarketData/mk UPDATEDAILY2 /DATE:$(date -d"-0 days" +\%m-\%d-\%Y) 2>&1 | logger -t updatedaily2
|
||||
|
||||
|
||||
*/15 6-16 * * 1-5 /opt/MarketData/MarketData/mk LOADHEADLINESWATCHLIST /WATCHLIST:Valuations > /dev/null 2>&1
|
||||
*/5 5-16 * * 1-5 /opt/MarketData/MarketData/mk LOADPREMARKETDATA > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 /opt/MarketData/MarketData/mk UPDATELATESTPRICEOPENPOSITIONS > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 /opt/MarketData/MarketData/mk UPDATELATESTPRICEWATCHLIST /WATCHLIST:Valuations > /dev/null 2>&1
|
||||
*/30 9-16 * * 1-5 /opt/MarketData/MarketData/mk UPDATELATESTANALYSTRATINGS 2>&1 | logger -t analystratings
|
||||
0 19 * * 1-5 /opt/MarketData/MarketData/mk UPDATEDAILY2 /DATE:$(date -d"-0 days" +\%m-\%d-\%Y) > /dev/null 2>&1
|
||||
|
||||
# m h dom mon dow command
|
||||
# sudo service cron reload , sudo service cron restart
|
||||
# cron helper app here -> https://cron.help/#*/5_9-17_*_*_1-5
|
||||
DOTNET_ROOT=/opt/dotnet
|
||||
CRON_DIR=/opt/MarketData/MarketData
|
||||
*/15 6-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk LOADHEADLINESWATCHLIST /WATCHLIST:Valuations > /dev/null 2>&1
|
||||
*/5 5-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk LOADPREMARKETDATA > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTPRICEOPENPOSITIONS > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTPRICEWATCHLIST /WATCHLIST:Valuations > /dev/null 2>&1
|
||||
*/30 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTANALYSTRATINGS > /dev/null 2>&1
|
||||
0 19 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATEDAILY2 /DATE:$(date -d"-0 days" +\%m-\%d-\%Y) > /dev/null 2>&1
|
||||
*/5 5-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk LOADPREMARKETDATA > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTPRICEOPENPOSITIONS > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTPRICEWATCHLIST /WATCHLIST:Valuations > /dev/null 2>&1
|
||||
*/30 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTANALYSTRATINGS > /dev/null 2>&1
|
||||
0 19 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATEDAILY2 /DATE:$(date -d"-0 days" +\%m-\%d-\%Y) > /dev/null 2>&1
|
||||
|
||||
Here is the latest crontab
|
||||
# m h dom mon dow command
|
||||
# sudo service cron reload , sudo service cron restart
|
||||
# cron helper app here -> https://cron.help/#*/5_9-17_*_*_1-5
|
||||
DOTNET_ROOT=/opt/dotnet
|
||||
CRON_DIR=/opt/MarketData/MarketData
|
||||
*/15 6-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk LOADHEADLINESWATCHLIST /WATCHLIST:Valuations > /dev/null 2>&1
|
||||
*/5 5-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk LOADPREMARKETDATA > /dev/null 2>&1
|
||||
*/5 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATEINTRADAYPRICING > /dev/null 2>&1
|
||||
*/30 9-16 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATELATESTANALYSTRATINGS > /dev/null 2>&1
|
||||
0 19 * * 1-5 cd $CRON_DIR ; /opt/MarketData/MarketData/mk UPDATEDAILY2 /DATE:$(date -d"-0 days" +\%m-\%d-\%Y) > /dev/null 2>&1
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user