public PortfolioValueTimeSeriesViewModel( PortfolioTrackerContext dbContext, IMarketProvider provider) { DbContext = dbContext; Provider = provider; LoadPortfolioValueTimeSeriesDataCommand = new DelegateCommand <int>(LoadPortfolioValueTimeSeriesData, CanLoadPortfolioValueTimeSeriesData); LoadPortfolioValueTimeSeriesDataCommand.Execute(30); XAxisFormatter = value => { var days = (DateTime.Today - MinDate).Days; var date = new DateTime((long)(value * TimeSpan.FromHours(1).Ticks)); if (days < 365) { return(value < 0 ? "" : date.ToString("MMM dd")); } else { return(value < 0 ? "" : date.ToString("MMM `yy")); } }; }
public UmpaLumpaWorker(IMarketProvider providers, ICurrencyDAO currencyDAO, IStrategyDAO strategyDAO, ITransactionLayer transactionDAO) { this._providers = providers; this._currencyDAO = currencyDAO; this._strategyDAO = strategyDAO; this._transactionDAO = transactionDAO; }
public void Yield_() { IMarketProvider moex = GetMoex(); IMarketProvider cbr = GetCbr(); DataProvider.Input.CombinedProvider.Provider provider = new DataProvider.Input.CombinedProvider.Provider( new List <IMarketProvider>() { moex, cbr }); Core.Mir.Environment environment = new Core.Mir.Environment(); environment.Market = new Core.Mir.MarketData(provider); CalculationOneData calculation = new Yield(); calculation.Environment = environment; calculation.ReportDate = new DateTime(2018, 05, 14); calculation.Run(); foreach (var x in calculation.returnResultSet().TimeSeries) { if (x.Value.Series.ContainsKey(calculation.ReportDate)) { string message = string.Format("{0}\t{1}", x.Key.Ident, x.Value.Series[calculation.ReportDate]); Console.WriteLine(message); } } }
public void TestVolatAll() { IMarketProvider moex = GetMoex(); IMarketProvider cbr = GetCbr(); DataProvider.Input.CombinedProvider.Provider provider = new DataProvider.Input.CombinedProvider.Provider(new List <IMarketProvider>() { moex, cbr }); Core.Mir.Environment environment = new Core.Mir.Environment(); environment.Market = new MarketData(provider); CalculationOneData calculation = new CalculateVolat.Volat(); calculation.ReportDate = new DateTime(2018, 05, 12); Dictionary <string, object> pars = new Dictionary <string, object>() { { CalculateVolat.Volat.WINDOW, 5 }, { CalculateVolat.Volat.MINIMAL_AMOUT, 90 }, }; calculation.SetParams(pars); calculation.Environment = environment; calculation.Run(); }
public void TestGetOnlyBonds() { IMarketProvider marketProvider = TestConnection(); var result = marketProvider.GetAllPositions(FinType.Bond); Assert.IsTrue(result != null && result.Count != 0 && result.Count(z => z.FinType != FinType.Default) != 0); }
private void RunCalculation_Click(object sender, EventArgs e) { string commandExe = ConfigurationManager.AppSettings["run_program"]; System.Diagnostics.Process.Start(commandExe); _provider.ClearCache(); _provider.Dispose(); curves = new List <string>(); subCurves = new Dictionary <string, List <string> >(); currencies = new Dictionary <string, string>(); _dbLink = null; positions = null; _cachedPositions = null; var iConnection = DataBaseLink.Fabricate.CreateConnection(_connection, DataBaseLink.ConnectionType.Npgsql); _dbLink = new DataBaseLink.DbLink(iConnection); IMarketProvider moex = GetMoex(); IMarketProvider cbr = GetCbr(); _provider = new DataProvider.Input.CombinedProvider.Provider(new List <IMarketProvider>() { moex, cbr }); LoadDataFinInstruments(); Paint(); LoadDataCurrencies(); LoadAttributes(); LoadDictionary(); LoadPercentCurves(); LoadCalculations(); }
public Form1() { InitializeComponent(); var iConnection = DataBaseLink.Fabricate.CreateConnection(_connection, DataBaseLink.ConnectionType.Npgsql); _dbLink = new DataBaseLink.DbLink(iConnection); IMarketProvider moex = GetMoex(); IMarketProvider cbr = GetCbr(); _provider = new DataProvider.Input.CombinedProvider.Provider(new List <IMarketProvider>() { moex, cbr }); LoadDataFinInstruments(); Paint(); LoadDataCurrencies(); LoadAttributes(); LoadDictionary(); LoadPercentCurves(); LoadCalculations(); }
public void TestQuotes() { string ident = "CH0317921671"; position.Ident = ident; IMarketProvider marketProvider = TestConnection(); var result = marketProvider.GetTimeSeries(position, TimeSeriesAttribute.Close); }
public void TestScalarNum() { IMarketProvider marketProvider = TestConnection(); var result = marketProvider.GetScalarNum(position, ScalarAttribute.Nominal); for (int i = 0; i < 100; ++i) { marketProvider.GetScalarNum(position, ScalarAttribute.Nominal); } }
public void TestScalarEnum() { IMarketProvider marketProvider = TestConnection(); var result = marketProvider.GetScalarEnum(position, ScalarAttribute.Currency); for (int i = 0; i < 100; ++i) { marketProvider.GetScalarDate(position, ScalarAttribute.MatDate); } }
public AccountSummaryViewModel( EF.PortfolioTrackerContext dbContext, IMarketProvider provider, PortfolioValueTimeSeriesViewModel portfolioValueTimeSeriesViewModel) { DbContext = dbContext; Provider = provider; PortfolioValueTimeSeriesViewModel = portfolioValueTimeSeriesViewModel; PortfolioValueTimeSeriesViewModel.IsBusyChanged += ChildIsBusyChangedEventHandler; }
public void LoadData() { treeView1.Nodes.Clear(); var iConnection = DataBaseLink.Fabricate.CreateConnection(_connection, DataBaseLink.ConnectionType.Npgsql); DataBaseLink.DbLink _dbLink = new DataBaseLink.DbLink(iConnection); //достаем финансовые инструменты и сортируем по папкам IMarketProvider moex = GetMoex(); IMarketProvider cbr = GetCbr(); DataProvider.Input.CombinedProvider.Provider provider = new DataProvider.Input.CombinedProvider.Provider(new List <IMarketProvider>() { moex, cbr }); List <FinType> finTypes = new List <FinType>() { FinType.Bond, FinType.Certificate, FinType.DepositaryReceipt, FinType.Equity, FinType.Fund }; Dictionary <FinType, string> types = new Dictionary <FinType, string>() { { FinType.Bond, "Облигации" }, { FinType.Certificate, "Сертификаты" }, { FinType.DepositaryReceipt, "Депозитарные распискы" }, { FinType.Equity, "Акции" }, { FinType.Fund, "Фонды" }, }; List <PortfolioPosition> positions = provider.GetAllPositions(finTypes); foreach (var x in types) { TreeNode root = treeView1.Nodes.Add(x.Value, x.Value); foreach (var z in positions.Where(p => p.FinType == x.Key)) { root.Nodes.Add(z.Ident, z.Ident); } } }
public void TestCalculateVar() { IMarketProvider moex = GetMoex(); IMarketProvider cbr = GetCbr(); DataProvider.Input.CombinedProvider.Provider provider = new DataProvider.Input.CombinedProvider.Provider(new List <IMarketProvider>() { moex, cbr }); Core.Mir.Environment environment = new Core.Mir.Environment(); environment.Market = new MarketData(provider); CalculationOneData calculation = new Var(); calculation.ReportDate = new DateTime(2018, 05, 04); Dictionary <string, object> pars = new Dictionary <string, object>() { { Var.WINDOW, 5 }, { Var.QUANTILE, 0.9m }, }; calculation.SetParams(pars); calculation.Environment = environment; bool result = false; try { result = calculation.Run(); } catch { result = false; } #region Settings Output #region Выгрузка данных в мир if (result) { #region Settings outputProvider string mirConnection = ConfigurationManager.AppSettings["mirconnection"]; DataProvider.Output.Mir.Mapping outMapping = new DataProvider.Output.Mir.Mapping(); outMapping.AI = new Dictionary <Enum, string>() { #region Финансовые инструменты { FinType.Equity, "12" }, { FinType.Bond, "13" }, { FinType.Fund, "14" }, { FinType.Certificate, "15" }, { FinType.DepositaryReceipt, "16" }, { FinType.FxRate, "20" }, { TimeSeriesAttribute.Var, "21675" }, #endregion }; outMapping.TKE = new Dictionary <KeyValuePair <Type, string>, Enum>() { #region Валюта { new KeyValuePair <Type, string>(typeof(Currencies), "CHF"), Currencies.CHF }, { new KeyValuePair <Type, string>(typeof(Currencies), "EUR"), Currencies.EUR }, { new KeyValuePair <Type, string>(typeof(Currencies), "GBP"), Currencies.GBP }, { new KeyValuePair <Type, string>(typeof(Currencies), "RUB"), Currencies.RUB }, { new KeyValuePair <Type, string>(typeof(Currencies), "RUR"), Currencies.RUB }, { new KeyValuePair <Type, string>(typeof(Currencies), "USD"), Currencies.USD }, #endregion }; outMapping.ET = new Dictionary <Enum, Type>() { { ScalarAttribute.DetailedType, typeof(FinTypeDetailedLevel) }, { ScalarAttribute.Currency, typeof(Currencies) }, { ScalarAttribute.FinType, typeof(FinType) }, }; mirConnection = "Host = localhost; Username =postgres; Password =roman; Database =MIR"; using (var outProvider = new DataProvider.Output.Mir.Provider(mirConnection, outMapping)) { outProvider.SetParams(new Dictionary <string, object>() { { DataProvider.Output.Mir.Provider.SCALAR, "CALCULATED" }, { DataProvider.Output.Mir.Provider.QUOTE, "CALCULATED" } }); outProvider.Save(calculation.returnResultSet()); } #endregion } #endregion #region Выгрузка данных в Excel string excelPath = @"C:\Users\RomanBushuev\YandexDisk\MarketData\Reports\Var\"; string excelFileName = string.Format("{0}.xlsx", calculation.ReportDate.ToString("yyyy.MM.dd")); DataProvider.Output.Excel.Provider excelProvider = new DataProvider.Output.Excel.Provider(excelPath + excelFileName); excelProvider.Save(calculation.returnResultSet()); #endregion #endregion }
public void TestGetEnum() { IMarketProvider marketProvider = TestConnection(); var result = marketProvider.Get <Currencies>(position, ScalarAttribute.Currency, DateTime.Today, Currencies.Default); }
public MarketData(IMarketProvider dataProvider) { _dataProvider = dataProvider; }