# Return Calculus

**URL:** <https://forum.numer.ai/t/return-calculus/5357>\
**Category:** Tournament\
**Created:** [May 6, 2022, 3:13pm UTC](https://forum.numer.ai/t/return-calculus/5357 "2022-05-06T15:13:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![slowmoe](https://yyz1.discourse-cdn.com/flex009/user_avatar/forum.numer.ai/slowmoe/32/2496_2.png) [@slowmoe](https://forum.numer.ai/u/slowmoe)\
**Post date:** [May 6, 2022, 3:13pm UTC](https://forum.numer.ai/t/return-calculus/5357/1 "2022-05-06T15:13:43Z")

</div>

So I’ve been trying to reproduce the 3M and 1Y return numbers that are given on numer.ai. Using numerapi in python. This is what I came up with:

```auto
modelname = "slowmoe"
rmp = napi.round_model_performances(modelname)
df = pd.DataFrame(rmp).set_index("roundNumber").sort_index()
df["payout_rel"] = df["payout"] / df["selectedStakeValue"]
cumprod = (df["payout_rel"].fillna(0)+1).cumprod()
gain_1Y = cumprod.iloc[-1] / cumprod.iloc[-52]

print(f"1 Year Return on Stake: {100*(gain_1Y-1):.1f}%")

```

which as of today gives me:

> 1 Year Return on Stake: 114.3%

while the [website](https://numer.ai/slowmoe#) reports 109.5%. Pretty close, but something is missing. Any thoughts?

---

<div class="post-metadata">

**Author:** ![taori](https://avatars.discourse-cdn.com/v4/letter/t/ebca7d/32.png) [@taori](https://forum.numer.ai/u/taori)\
**Post date:** [May 6, 2022, 4:09pm UTC](https://forum.numer.ai/t/return-calculus/5357/2 "2022-05-06T16:09:30Z")

</div>

I might be wrong, but just give it a try with:

```auto
# 52 weeks of compounding minus 3 for stake compounding lag
gain_1Y = cumprod.iloc[-1] / cumprod.iloc[-49]

```

[Source](https://github.com/numerai/example-scripts/blob/838bfd1788feaf40362d6bedb3e4683832a9dbb1/utils.py#L242)

---

<div class="post-metadata">

**Author:** ![slowmoe](https://yyz1.discourse-cdn.com/flex009/user_avatar/forum.numer.ai/slowmoe/32/2496_2.png) [@slowmoe](https://forum.numer.ai/u/slowmoe)\
**Post date:** [May 7, 2022, 9:19am UTC](https://forum.numer.ai/t/return-calculus/5357/3 "2022-05-07T09:19:51Z")

</div>

I tried that and all sorts of other values, 51,50,48,… no dice

---

<div class="post-metadata">

**Author:** ![pschork](https://yyz1.discourse-cdn.com/flex009/user_avatar/forum.numer.ai/pschork/32/2495_2.png) [@pschork](https://forum.numer.ai/u/pschork)\
**Post date:** [November 15, 2022, 1:10am UTC](https://forum.numer.ai/t/return-calculus/5357/4 "2022-11-15T01:10:03Z")

</div>

See [Reproducing 1d, 3mo, 12mo returns the hard way](http://forum.numer.ai/t/reproducing-1d-3mo-12mo-returns-the-hard-way/5850)
