0

I have trying to estimate the annual of an investment scheme which applied dollar cost averaging, which the increment of value is listed as below (sorry that MathJax looks like greek to me, so I didn't use it):

x: regular contribution, which is 1500 in my case
y: rate of return PLUS 100% (e.g 1.07 for a 7% return), which is the parameters that I want to estimate.

Time 1: xy
Time 2: (x + xy)*y
Time 3: (x + (x + xy)*y)*y
Time 4: (x + (x + (x + xy)*y)*y)*y
Time 5: (x + (x + (x + (x + xy)*y)*y)*y)*y
Time 6: (x + (x + (x + (x + (x + xy)*y)*y)*y)*y)*y

And the list goes on.

After simplifying the equation, if I calculate it correctly, it should be a power series:

xy(1 + y + y^2 + y^3 + y^4 + y^5 +y^6)

I know that equation above can be used for the nls function in R, as suggested in http://www.walkingrandomly.com/?p=5254. But the problem is, the investment scheme has been traded for more than 6 times, the number of trades is variable and I prefer not to fix the number of trades in the formula.

I wonder if R can create a formula with variable length of the power series, something like a function?

update 01

Thanks for the comment @Roland, I have dput my dataframe as below:

structure(list(date = 1:62, value = c(1500, 3008.1048, 4279.09223337264, 
5701.16001583254, 7545.25391699441, 8883.87795645887, 11192.7249445628, 
13043.5267669473, 14396.3707754063, 16677.2027610312, 18474.8268536672, 
20225.6882177597, 21889.6372952495, 24090.0451286292, 25305.8719822623, 
26293.5164474925, 27470.5608573055, 26851.4637959011, 25610.4708389126, 
29781.3033136099, 30244.449772352, 31757.1977515, 35216.3065708333, 
38661.857424377, 40153.0021899712, 41453.1839013205, 39626.0241467687, 
42464.6515262833, 44415.7606695956, 46456.2932413184, 49539.1291983018, 
51223.0944673951, 53534.0828137635, 56511.2727118443, 60750.8112270199, 
62420.4165280642, 64561.1738159384, 67269.7609015725, 69582.2433935286, 
68461.4426685366, 72790.7668201147, 73029.1128824367, 77963.2040906503, 
81782.8304828104, 84781.7088147301, 87010.8577769314, 85461.5060309602, 
90165.7453255817, 91340.1347579196, 92918.1083054977, 96713.3387975151, 
99841.2477244806, 101538.099862003, 104946.468993318, 103233.508326534, 
106416.67466519, 109991.955526668, 110800.989092493, 112258.758666778, 
118567.887527905, 120872.966926589, 127711.586247323), expected_value = c(1511.96121064336, 
3035.97901230344, 4572.1495459301, 6120.56971911465, 7681.33721220313, 
9254.55048445835, 10840.3087802712, 12438.7121354211, 14049.861383387, 
15673.8581617081, 17310.8049183956, 18960.8049183956, 20623.9622501033, 
22300.3818319294, 23990.1694189188, 25693.4316094218, 27410.2758518191, 
29140.8104512998, 30885.1445766939, 32643.3882673588, 34415.6524401213, 
36202.0488962746, 38002.6903286308, 39817.6903286308, 41647.1633935093, 
43491.224933518, 45349.9912792063, 47223.5796887596, 49112.1083553966, 
51015.6964148254, 52934.4639527589, 54868.5320124903, 56818.0226025291, 
58783.0587042976, 60763.7642798896, 62760.2642798896, 64772.6846512559, 
66801.1523452654, 68845.7953255225, 70906.7425760312, 72984.1241093319, 
75078.0709747036, 77188.7152664305, 79316.190132135, 81460.6297811776, 
83622.169493123, 85800.9456262742, 87997.0956262742, 90210.7580347771, 
92442.0724981876, 94691.1797764704, 96958.2217520299, 99243.3414386608, 
101546.68299057, 103868.391711469, 106208.614063744, 108567.497677691, 
110945.191360831, 113341.845107297, 115757.610107297, 118192.63875665, 
120647.084666402)), .Names = c("date", "value", "expected_value"
), row.names = c("63", "62", "61", "60", "59", "58", "57", "56", 
"55", "54", "53", "52", "51", "50", "49", "48", "47", "46", "45", 
"44", "43", "42", "41", "40", "39", "38", "37", "36", "35", "34", 
"33", "32", "31", "30", "29", "28", "27", "26", "25", "24", "23", 
"22", "21", "20", "19", "18", "17", "16", "15", "14", "13", "12", 
"11", "10", "9", "8", "7", "6", "5", "4", "510", "410"), class = c("tbl_df", 
"tbl", "data.frame"))
lokheart
  • 23,743
  • 39
  • 98
  • 169
  • Please indicate more clearly which parameter you want to estimate and what you have as data. Best would be an example of data. – Roland May 20 '15 at 10:00
  • What do you want to estimate? What does `date` correpond to in your formula? What does `value` correspond to? What does `expected_value` correspond to? – Roland May 20 '15 at 11:02

0 Answers0