diff --git a/ledger/predict.go b/ledger/predict.go index 24de9cf..55d2238 100644 --- a/ledger/predict.go +++ b/ledger/predict.go @@ -9,7 +9,29 @@ import ( ) func RegisterWithContributionPrediction(reg Register, window time.Duration) (Register, error) { - return reg, io.EOF + result := make(Register) + result.PushAll(reg) + for _, name := range result.Names() { + subregister, err := registerWithContributionPredictionForName(result, window, name) + if err != nil { + return nil, err + } + result.PushAll(subregister) + } + return result, nil +} + +func registerWithContributionPredictionForName(reg Register, window time.Duration, name string) (Register, error) { + return nil, io.EOF +} + +func registerWithContributionPredictionForNameForCurrency(reg Register, window time.Duration, name string, currency Currency) (Register, error) { + return nil, io.EOF + // find median contribution value+frequency in most recent half + // find median contribution value+frequency in most recent quarter + // find median contribution value+frequency in most recent eighth + // weighted averages of medians + // project } func BPIsWithFixedGrowthPrediction(bpis BPIs, window time.Duration, pattern string, apy float64) (BPIs, error) {