Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

FB-006: period-end force close is hard-wired to the last (thin, untradeable) tick [silent-wrong in practice]

Open
#25 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
56/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python

Research direction

Start with engine.py:222-226 and trace how the period’s last date and clock[-1] determine EOD_FORCE fills. Check existing engine tests for period-end close behavior. Done means the engine supports force_close_time="15:15:00" on the period’s last date and the tests cover the resulting fill time.

Written by the indexing model from the issue text.

Description

bug

Severity: silent-wrong in practice · Source: BUGS_FASTBT.md (2026-10-09)

engine.py:222-226 always closes at clock[-1], which is 15:30:59 on expiry day. That bar is thin, and from 2026-08-03 spot is frozen after 15:15 (CAS break), so EOD_FORCE fills there are not tradeable prices. There is no force_close_time, so every multi-day strategy has to code its own expiry-day exit.

Workaround: exit on the expiry date at 15:15 in strategy code, and treat any EOD_FORCE as a bug.
Fix: add an engine force_close_time="15:15:00" applied on the period's last date.

Dominant language
Python
Stars
28
Forks
17
Avg merge
8h 50m
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from uberdeveloper/fastbt

All issues in uberdeveloper/fastbt

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.