public void FillMarketData(Filing filing) { var trade = filing.Trade; trade.priceReportDate = getPrice(filing.DateFiled, trade); trade.priceChgNext10D = getPrice(trade.transactionDate.AddDays(10), trade) / trade.transactionPricePerShare - 1; trade.priceChgNext1M = getPrice(trade.transactionDate.AddMonths(1), trade) / trade.transactionPricePerShare - 1; trade.priceChgNext2M = getPrice(trade.transactionDate.AddMonths(2), trade) / trade.transactionPricePerShare - 1; trade.priceChgNext3M = getPrice(trade.transactionDate.AddMonths(3), trade) / trade.transactionPricePerShare - 1; trade.priceChgPrev10D = trade.transactionPricePerShare / getPrice(trade.transactionDate.AddDays(-10), trade) - 1; trade.priceChgPrev1M = trade.transactionPricePerShare / getPrice(trade.transactionDate.AddMonths(-1), trade) - 1; trade.priceChgPrev2M = trade.transactionPricePerShare / getPrice(trade.transactionDate.AddMonths(-2), trade) - 1; trade.priceChgPrev3M = trade.transactionPricePerShare / getPrice(trade.transactionDate.AddMonths(-3), trade) - 1; }
public void Save(Filing filing) { StringBuilder sql = new StringBuilder(); sql.Append("INSERT INTO [dbo].[Trades] \n"); sql.Append(" ([TradeDate] \n"); sql.Append(" ,[ReportDate] \n"); sql.Append(" ,[UserId] \n"); sql.Append(" ,[Ticker] \n"); sql.Append(" ,[Quantity] \n"); sql.Append(" ,[Price] \n"); sql.Append(" ,[Price_Trade] \n"); sql.Append(" ,[Price_Report] \n"); sql.Append(" ,[priceChgPrev10D] \n"); sql.Append(" ,[priceChgPrev1M] \n"); sql.Append(" ,[priceChgPrev2M] \n"); sql.Append(" ,[priceChgPrev3M] \n"); sql.Append(" ,[priceChgNext10D] \n"); sql.Append(" ,[priceChgNext1M] \n"); sql.Append(" ,[priceChgNext2M] \n"); sql.Append(" ,[priceChgNext3M]) \n"); sql.Append(" VALUES \n"); sql.Append(" (<TradeDate, date,> \n"); sql.Append(" ,<ReportDate, date,> \n"); sql.Append(" ,<UserId, varchar(50),> \n"); sql.Append(" ,<Ticker, varchar(50),> \n"); sql.Append(" ,<Quantity, bigint,> \n"); sql.Append(" ,<Price, float,> \n"); sql.Append(" ,<Price_Trade, float,> \n"); sql.Append(" ,<Price_Report, float,> \n"); sql.Append(" ,<priceChgPrev10D, float,> \n"); sql.Append(" ,<priceChgPrev1M, float,> \n"); sql.Append(" ,<priceChgPrev2M, float,> \n"); sql.Append(" ,<priceChgPrev3M, float,> \n"); sql.Append(" ,<priceChgNext10D, float,> \n"); sql.Append(" ,<priceChgNext1M, float,> \n"); sql.Append(" ,<priceChgNext2M, float,> \n"); sql.Append(" ,<priceChgNext3M, float,>) \n"); sql.Append("GO"); }