Skip to content

feat(strategies): add composed backtest attribution - #1217

Merged
collinsezedike merged 7 commits into
drydocs:mainfrom
Shalombonet:feat/1200-composed-backtest-runner
Oct 22, 2026
Merged

collinsezedike merged 7 commits into
drydocs:mainfrom
Shalombonet:feat/1200-composed-backtest-runner

Conversation

@Shalombonet

Copy link
Copy Markdown
Contributor

Summary

  • Add runComposedBacktest using the existing backtest runner.
  • Report per-member value, PnL, and fees alongside the aggregate result.
  • Preserve attribution for shared assets, funding, and proceeds returned to cash after an exit.
  • Add deterministic attribution serialization and deserialization.

Test plan

  • pnpm --filter @meridian/strategies test (747 tests passed)
  • pnpm --filter @meridian/strategies typecheck
  • pnpm --filter @meridian/strategies lint
  • npx tsc --noEmit

Closes #1200

@vercel

vercel Bot commented Oct 20, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Collins' projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@Shalombonet Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@collinsezedike collinsezedike left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Shalombonet the composed attribution itself looks sound. Two unrelated files need to come out before this can merge. See inline.

Comment thread AGENTS.md Outdated
Comment thread tsconfig.json Outdated
@Shalombonet

Copy link
Copy Markdown
Contributor Author

I removed the generated AGENTS.md from the PR and restored the root tsconfig.json.

@collinsezedike collinsezedike left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Shalombonet the composed attribution path covers the issue's acceptance criteria. Please make the funding-payment id non-breaking, and re-author the commits with an email linked to your GitHub account so they resolve to you. See the inline note.

Comment thread packages/strategies/src/accrual.ts Outdated
@Shalombonet
Shalombonet force-pushed the feat/1200-composed-backtest-runner branch from 8f60954 to 2e323d2 Compare October 21, 2026 11:01
collinsezedike
collinsezedike previously approved these changes Oct 21, 2026

@collinsezedike collinsezedike left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @Shalombonet. The funding transaction id is now optional and the merge is clean. The attribution path and its tests cover the issue's acceptance criteria. If you would like to pick up another open issue, there are several in the tracker.

@Shalombonet

Copy link
Copy Markdown
Contributor Author

Thank you @Shalombonet. The funding transaction id is now optional and the merge is clean. The attribution path and its tests cover the issue's acceptance criteria. If you would like to pick up another open issue, there are several in the tracker.

Thank you for the review @collinsezedike . I’m glad the attribution path and tests cover the acceptance criteria.

Since the merge is clean, could you please merge this PR and close it when you have a moment? I’d also be happy to pick up another open issue afterward.

Thanks again for your time and guidance.

@collinsezedike
collinsezedike merged commit d5a2a39 into drydocs:main Oct 22, 2026
10 of 11 checks passed
@collinsezedike

Copy link
Copy Markdown
Collaborator

@Shalombonet thank you again for getting this over the line, and thank you for starring the repository. If you'd like to pick up another open issue, there are several available in the tracker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SDK] Add the composed backtest runner and per-member attribution

2 participants