Process flow diagram
Visual summary of the covered call opening workflow described on this page.
%%{init: {"theme":"base","flowchart":{"curve":"basis"},"themeVariables":{
"fontFamily":"Inter, Nunito, system-ui",
"primaryTextColor":"#e5e7eb",
"primaryColor":"#111827",
"primaryBorderColor":"#94a3b8",
"lineColor":"#94a3b8",
"tertiaryColor":"#0e1729",
"tertiaryBorderColor":"#22d3ee",
"edgeLabelBackground":"#00000000"
}}}%%
flowchart TB
A([Start]) --> T1[Top-level checks]
T1 -->|Fail| OUT[Stop: buying power or not allowed]
T1 -->|Pass| I1[Per-instrument: covered call]
I1 -->|Fail| OUT
I1 -->|Pass| F1[First eligible option - first loop iteration only]
F1 -->|After 3pm and not test| OUT
F1 -->|Daily open limit reached| OUT
F1 -->|Pass| O1[Per-option opener specifics]
O1 --> O1b{Option data stale?}
O1b -->|Yes| O1c[Refresh option]
O1b -->|No| TR1[Build trade resource]
O1c --> TR1
subgraph TR[Trade resource creation]
TR1 --> P1[Short-call open pricing stage]
P1 --> P2[Covered-call specific pricing]
P2 --> TR2{Viable chain?}
end
TR2 -->|No| OUT
TR2 -->|Yes| BI[1 Base instrument ready]
BI -->|Fail| OUT
BI --> BO[2 Base option ready]
BO -->|Fail| OUT
BO --> CC[3 Covered call ready]
CC -->|Fail| OUT
CC --> OK[Trade resource ready]
OK --> OC[Build 1-leg sell-to-open order]
OC --> ORC[Order-level readiness checks]
ORC -->|Fail| OUT
ORC --> LRC[Order-leg readiness - non-rolling]
LRC -->|Fail| OUT
LRC --> S[Submit order]
S --> BP[Deduct projected risk from local options buying power]
BP --> INC[Increment instrument open count]
INC --> DONE([Outcome: one-lot order submitted])
OUT --> NEXT([Outcome: human-readable reason; consider other candidates])
classDef step fill:#111827,stroke:#94a3b8,color:#e5e7eb,stroke-width:1px;
classDef gate fill:#0e1729,stroke:#22d3ee,color:#e5e7eb,stroke-width:1px;
classDef out fill:transparent,stroke:#94a3b8,color:#cbd5e1,stroke-dasharray:5 3;
class A,T1,I1,F1,O1,O1c,TR1,P1,P2,OK,OC,ORC,LRC,S,BP,INC,DONE,NEXT step;
class O1b,TR2,BI,BO,CC gate;
class OUT out;