数据结构如下:
| stkcd | Date | Year | Month | r |
| 000002 | 1/29/2010 | 2010 | 01 | -0.13599 |
| 000002 | 2/26/2010 | 2010 | 02 | 0.009636 |
| 000002 | 3/31/2010 | 2010 | 03 | 0.007423 |
| 000002 | 4/30/2010 | 2010 | 04 | -0.17895 |
| 000002 | 5/31/2010 | 2010 | 05 | -0.06683 |
| 000002 | 6/30/2010 | 2010 | 06 | -0.05964 |
| 000002 | 7/30/2010 | 2010 | 07 | 0.222714 |
| 000002 | 8/31/2010 | 2010 | 08 | 0.015682 |
| 000002 | 9/30/2010 | 2010 | 09 | -0.00238 |
| 000002 | 10/29/2010 | 2010 | 10 | 0.154762 |
| 000002 | 11/30/2010 | 2010 | 11 | -0.16186 |
| 000002 | 12/31/2010 | 2010 | 12 | 0.01107 |
| 000002 | 1/31/2011 | 2011 | 01 | -0.00243 |
| 000002 | 2/28/2011 | 2011 | 02 | -0.00488 |
| 000002 | 3/30/2011 | 2011 | 03 | 0.064951 |
| 000002 | 4/29/2011 | 2011 | 04 | -0.02417 |
| 000002 | 5/31/2011 | 2011 | 05 | -0.06377 |
| 000002 | 6/30/2011 | 2011 | 06 | 0.077806 |
| 000002 | 7/29/2011 | 2011 | 07 | -0.0355 |
| 000002 | 8/31/2011 | 2011 | 08 | 0 |
| 000002 | 9/30/2011 | 2011 | 09 | -0.11166 |
| 000002 | 10/31/2011 | 2011 | 10 | 0.104972 |
| 000002 | 11/30/2011 | 2011 | 11 | -0.1175 |
| 000002 | 12/30/2011 | 2011 | 12 | 0.058074 |
| 000002 | 1/31/2012 | 2012 | 01 | 0.024096 |
| 000002 | 2/29/2012 | 2012 | 02 | 0.082353 |
| 000002 | 3/30/2012 | 2012 | 03 | 0 |
| 000002 | 4/27/2012 | 2012 | 04 | 0.084541 |
| 000002 | 5/31/2012 | 2012 | 05 | 0.030067 |
| 000002 | 6/29/2012 | 2012 | 06 | -0.03676 |
| 000002 | 7/31/2012 | 2012 | 07 | 0.05041 |
| 000002 | 8/31/2012 | 2012 | 08 | -0.13109 |
| 000002 | 9/28/2012 | 2012 | 09 | 0.051122 |
| 000002 | 10/31/2012 | 2012 | 10 | -0.01305 |
| 000002 | 11/30/2012 | 2012 | 11 | 0.051683 |
| 000002 | 12/25/2012 | 2012 | 12 | 0.156571 |
| 000002 | 1/31/2013 | 2013 | 01 | 0.186759 |
| 000002 | 2/28/2013 | 2013 | 02 | -0.00083 |
| 000002 | 3/29/2013 | 2013 | 03 | -0.10333 |
| 000002 | 4/26/2013 | 2013 | 04 | 0.025093 |
| 000002 | 5/31/2013 | 2013 | 05 | 0.102837 |
| 000002 | 6/28/2013 | 2013 | 06 | -0.1778 |
| 000002 | 7/31/2013 | 2013 | 07 | -0.0335 |
| 000002 | 8/30/2013 | 2013 | 08 | -0.0063 |
| 000002 | 9/30/2013 | 2013 | 09 | -0.03488 |
| 000002 | 10/31/2013 | 2013 | 10 | 0.008762 |
| 000002 | 11/29/2013 | 2013 | 11 | -0.04886 |
| 000002 | 12/31/2013 | 2013 | 12 | -0.08333 |
| 000002 | 1/30/2014 | 2014 | 01 | -0.08095 |
| 000002 | 2/28/2014 | 2014 | 02 | -0.08943 |
| 000002 | 3/31/2014 | 2014 | 03 | 0.203869 |
| 000002 | 4/30/2014 | 2014 | 04 | -0.02349 |
| 000002 | 5/30/2014 | 2014 | 05 | 0.142649 |
| 000002 | 6/30/2014 | 2014 | 06 | -0.03275 |
| 000002 | 7/31/2014 | 2014 | 07 | 0.197098 |
| 000002 | 8/29/2014 | 2014 | 08 | -0.07879 |
| 000002 | 9/30/2014 | 2014 | 09 | 0.006579 |
| 000002 | 10/31/2014 | 2014 | 10 | 0.023965 |
| 000002 | 11/28/2014 | 2014 | 11 | 0.159574 |
| 000002 | 12/31/2014 | 2014 | 12 | 0.275229 |
| 000002 | 1/30/2015 | 2015 | 01 | -0.05612 |
| 000002 | 2/27/2015 | 2015 | 02 | -0.0282 |
| 000002 | 3/31/2015 | 2015 | 03 | 0.083922 |
| 000002 | 4/30/2015 | 2015 | 04 | 0.05644 |
| 000002 | 5/29/2015 | 2015 | 05 | -0.01712 |
| 000002 | 6/30/2015 | 2015 | 06 | 0.011847 |
| 000002 | 7/31/2015 | 2015 | 07 | 0.010236 |
| 000002 | 8/31/2015 | 2015 | 08 | -0.0268 |
| 000002 | 9/30/2015 | 2015 | 09 | -0.07754 |
| 000002 | 10/30/2015 | 2015 | 10 | 0.073841 |
| 000002 | 11/30/2015 | 2015 | 11 | 0.102414 |
| 000002 | 12/18/2015 | 2015 | 12 | 0.621102 |
| 000002 | 1/14/2016 | 2016 | 01 | 0 |
| 000002 | 3/14/2016 | 2016 | 03 | 0 |
| 000002 | 4/30/2016 | 2016 | 04 | 0 |
| 000002 | 7/29/2016 | 2016 | 07 | -0.26893 |
| 000002 | 8/31/2016 | 2016 | 08 | 0.454492 |
| 000002 | 9/30/2016 | 2016 | 09 | 0.049739 |
| 000002 | 10/31/2016 | 2016 | 10 | -0.04777 |
| 000002 | 11/30/2016 | 2016 | 11 | 0.082665 |
| 000002 | 12/30/2016 | 2016 | 12 | -0.23833 |
| 000009 | 1/29/2010 | 2010 | 01 | -0.05009 |
| 000009 | 2/26/2010 | 2010 | 02 | 0.084372 |
| 000009 | 3/31/2010 | 2010 | 03 | 0.051282 |
| 000009 | 4/30/2010 | 2010 | 04 | -0.05803 |
| 000009 | 5/31/2010 | 2010 | 05 | -0.12054 |
| 000009 | 6/29/2010 | 2010 | 06 | -0.1269 |
| 000009 | 7/30/2010 | 2010 | 07 | 0.15814 |
| 000009 | 8/31/2010 | 2010 | 08 | 0.128207 |
| 000009 | 9/30/2010 | 2010 | 09 | 0.066964 |
| 000009 | 10/29/2010 | 2010 | 10 | 0.11046 |
| 000009 | 11/30/2010 | 2010 | 11 | 0.292389 |
| 000009 | 12/31/2010 | 2010 | 12 | -0.02216 |
问题:要由月度收益率求年度买入并持有收益率,从5月开始到下一年4月结束共12个月作为1年期的买入并持有收益率,计算公式:BHR1=(1+r1)*(1+r2)...*(1+r12)-1;两年期的BHR2=(1+r1)*(1+r2)...*(1+r24)-1;三年期的BHR3=(1+r1)*(1+r2)...*(1+r36)-1。现在已经求出1年期的BHR,问2年期和3年期的BHR如何求?sata的代码怎么编?