static void IllionWeightedAverage() { #region WeightedAverage int[] values = null; int[] weights = null; try { Console.WriteLine(WeightedAverage.Mean(values, weights)); } catch (ArgumentException ae) { Console.WriteLine("Throw ArgumentException"); } int[] IntValues = new int[] { 3, 6 }; int[] IntWeights = new int[] { 4, 2 }; Console.WriteLine(WeightedAverage.Mean(IntValues, IntWeights)); Single[] SingleValues = new Single[] { 3, 6 }; Single[] SingleWeights = new Single[] { 4, 2 }; Console.WriteLine(WeightedAverage.Mean(SingleValues, SingleWeights)); #endregion }
public static void Main(string[] args) { int[] values = new int[] { 3, 6 }; int[] weights = new int[] { 4, 2 }; Console.WriteLine(WeightedAverage.Mean(values, weights)); }
public void WeightedAveragetTest120SharesSoldSpecifyingDateInMiddleOfTransactions() { var transaction = new Transaction { SharesSold = 120, PricePerShare = 10.5m, Selldate = new DateTime(2005, 2, 3) }; var weightedAverage = new WeightedAverage(); var assets = Assets; var costPrice = weightedAverage.CostPriceOfSharesSoldAndSharesRemaining(transaction, assets); Assert.AreEqual(1480.0m / 140, costPrice.CostPriceSold); }
public void WeightedAveragetTest120SharesSold() { var transaction = new Transaction { SharesSold = 120, PricePerShare = 10.5m, Selldate = new DateTime(2005, 4, 3) }; var weightedAverage = new WeightedAverage(); var assets = Assets; var costPrice = weightedAverage.CostPriceOfSharesSoldAndSharesRemaining(transaction, assets); Assert.AreEqual(2030.0m / 190.0m, costPrice.CostPriceSold); }
public void Calculate() { WeightedAverage weighted = new WeightedAverage(); var zero = CurrentShares == 0; //NewShares =Math.Round(BuyingPower / NewSharesPrice); BuyingPower = zero ? 0 : Math.Round(NewShares * NewSharesPrice); TotalShares = zero ? 0 : Math.Round(weighted.TotalShares(CurrentShares, NewShares)); TotalAveragePrice = zero ? 0 : Math.Round(weighted.AverageWeightedPrice( CurrentShares, AveragePrice, NewShares, NewSharesPrice), 2); Capital = zero ? 0 : Math.Round(TotalShares * TotalAveragePrice, 2); }
public UnitTest1() { IServiceCollection services = new ServiceCollection(); services.AddSingleton <WeightedAverage>(); services.AddSingleton <FIFO>(); services.AddSingleton <LIFO>(); var serviceProvider = services.BuildServiceProvider(); weightedAverage = serviceProvider.GetRequiredService <WeightedAverage>(); fifo = serviceProvider.GetRequiredService <FIFO>(); lifo = serviceProvider.GetRequiredService <LIFO>(); }
async Task AddPosition_Clicked() { var vm = BindingContext as PortfolioAddEditViewModel; var edit = Title == "Edit Portfolio" ? true : false; var avg = Convert.ToDouble(EntryAvgPrice.Text); var shares = Convert.ToDouble(SharesEntry.Text); if (avg == 0 || shares == 0) { await DisplayAlert("investing.ph", "Total Shares or Average Price" + " cannot be blank.", "OK"); return; } Portfolio p = await App._PortfolioData._Portfolio(lblSymbol.Text); var exists = p == null ? false : true; if (exists || edit) { var newAVG = new WeightedAverage().AverageWeightedPrice( p.TotalShares, p.AveragePrice, shares, avg); var newShares = shares + p.TotalShares; var port = new Portfolio() { Symbol = lblSymbol.Text, Company = lblCompany.Text, TotalShares = edit ? shares : newShares, AveragePrice = edit ? avg : newAVG, PortfolioID = p.PortfolioID }; await vm.UpdatePortfolio(port); } else { var port = new Portfolio() { Symbol = lblSymbol.Text, Company = lblCompany.Text, AveragePrice = avg, TotalShares = shares }; await vm.AddToPortfolio(port); } await DisplayAlert(vm.Title, vm.StatusMessage, "Ok"); await App.Locator.NavigationService.GoHome(); }