Beispiel #1
0
        static async Task Main(string[] args)
        {
            var yfService = new YahooService();

            var symbol = "MSFT";



            //var result = await yfService.GetHistoricalDataAsync(Frequency.OneDay
            //    , new DateTime(2020, 9, 1, 12, 0, 0)
            //    , new DateTime(2020, 9, 25, 12, 0, 0)
            //    , "MSFT");

            //var result = await yfService.GetHistoricalDataAsyncYahoo(Interval.OneDay
            //    , new DateTime(2020, 9, 1, 12, 0, 0)
            //    , new DateTime(2020, 9, 25, 12, 0, 0)
            //    , "MSFT", true);


            //var fundamentalData = await yfService.GetFundamentalDataAsync("MSFT");

            //foreach (var result in fundamentalData.QuoteSummary.Result)
            //{
            //    //var assetProfile = result.AssetProfile;

            //    //foreach (var assetProfileCompanyOfficer in assetProfile.CompanyOfficers)
            //    //{

            //    //}

            //    var recommendation = result.RecommendationTrend;

            //    foreach (var trend in recommendation.Trend)
            //    {

            //    }

            //    var c = result.CashflowStatementHistory;

            //    foreach (var cCashFlowStatement in c.CashFlowStatements)
            //    {

            //    }

            //    var i = result.IndexTrend;

            //    foreach (var iEstimate in i.Estimates)
            //    {

            //    }

            //    var d = result.DefaultKeyStatistics;

            //    var it = result.IndustryTrend;

            //    var itt = result.IncomeStatementHistory;

            //    var fo = result.FundOwnership;

            //    var sd = result.SummaryDetail;

            //    var sdd = result.InsiderHolders;

            //    foreach (var sddHolder in sdd.Holders)
            //    {

            //    }

            //    var sddd = result.CalendarEvents;

            //    var ds = result.UpgradeDowngradeHistory;

            //    var dd = result.BalanceSheetHistory;

            //    foreach (var ddBalanceSheetStatement in dd.BalanceSheetStatements)
            //    {

            //    }
            //}

            //var hs = await yfService.GetHistoricalDataAsyncYahoo(Interval.OneDay, new DateTime(2010, 1, 1),
            //    new DateTime(2020, 1, 1), "MSFT", true);


            //await hs.Prices.WriteCsvAsync(@"c:\temp\MSFT.csv");

            //var options = await yfService.GetOptionsContractAsync("MSFT", DateTime.Now.AddDays(1));

            //var msftPrices = await yfService.GetHistoricalDataAsync("MSFT", 30);

            //var calcReturn = ((msftPrices.Last().Close - msftPrices.First().Open) / msftPrices.First().Open) * 100;

            var list = await yfService.CalculateReturnsAsync(new[] { "MSFT", "AAPL" }, 30);

            var sorted = list.Sort();

            var avg = list.Average();
            //list.GroupBy(c => symbol)

            //var prices = await yfService.GetHistoricalDataAsync(symbol, 30);

            //await prices.ToList().ReadCsvAsync(@"C:\Temp\MSFT.csv");
            // Console.ReadLine();

            var prices = await CsvExtensions.ReadCsvAsync("Data\\all_stocks_5yr.csv", new Dictionary <string, string>
            {
                { "date", "StartTime" },
                { "open", "Open" },
                { "high", "High" },
                { "low", "Low" },
                { "close", "Close" },
                { "volume", "Volume" },
                { "Name", "Symbol" }
            });

            //var momentum = prices.CalculateMomentum(new DateTime(2017, 1, 1), 50);

            //var stockNames = prices.GetStockNames();

            //var returns = prices.CalculateReturns();

            //var orderedReturns = returns.OrderBy(c => c.ReturnPercentage);

            //var m = prices.SlidingWindow(500, 300, 50);
        }