FIELD PLACEMENT ORIENTATION Field Placement Coordinator: Jackie Walker [email protected]
"The Checklist" - 10 Execution - Order placement
-
Upload
arpm-advanced-risk-and-portfolio-management -
Category
Economy & Finance
-
view
30 -
download
3
Transcript of "The Checklist" - 10 Execution - Order placement
![Page 1: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/1.jpg)
The "Checklist"> 10. Execution > Order placement
Order placement
Goal: execute in practice a parent order of size ∆hparent (one instrument).
Since the time scale is in the order of a few minutes, tick time (1.103) is usedfor order placement.
Decisions are summarized in the outstanding order vector
∆hκ ≡ (. . . ,∆hbid−1κ ,∆hbid
κ ,∆hbid+1κ , . . . , . . . ,∆hask−1
κ ,∆haskκ ,∆hask+1
κ , . . .)′ (10.40)
tick-time limit order atthe bid price
limit order one tickabove the bid price
limit order atthe ask price
Market orders in the outstanding order vector
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 2: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/2.jpg)
The "Checklist"> 10. Execution > Order placement
Order placement
Goal: execute in practice a parent order of size ∆hparent (one instrument).
Since the time scale is in the order of a few minutes, tick time (1.103) is usedfor order placement.
Decisions are summarized in the outstanding order vector
∆hκ ≡ (. . . ,∆hbid−1κ ,∆hbid
κ ,∆hbid+1κ , . . . , . . . ,∆hask−1
κ ,∆haskκ ,∆hask+1
κ , . . .)′ (10.40)
tick-time limit order atthe bid price
limit order one tickabove the bid price
limit order atthe ask price
Market orders in the outstanding order vector
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 3: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/3.jpg)
The "Checklist"> 10. Execution > Order placement
Two loop algorithm (buy case)
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 4: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/4.jpg)
The "Checklist"> 10. Execution > Order placementOuter loop
Outer loop
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
Step 1a: the optimal schedule h∗ is computed using the two-step mean-variance optimization (10.26)-(10.27)
Step 1b: the first child order is computed as
∆hchild ≡ h∗( E{∆Q} )− hnow (10.43)
expected volume time by which we want to execute ∆hchild
Child order computed from the Almgren-Chriss optimal trajectory
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 5: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/5.jpg)
The "Checklist"> 10. Execution > Order placementOuter loop
Outer loop
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
Step 1a: the optimal schedule h∗ is computed using the two-step mean-variance optimization (10.26)-(10.27)
Step 1b: the first child order is computed as
∆hchild ≡ h∗( E{∆Q} )− hnow (10.43)
expected volume time by which we want to execute ∆hchild
Child order computed from the Almgren-Chriss optimal trajectory
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 6: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/6.jpg)
The "Checklist"> 10. Execution > Order placementInner loop
Inner loop
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
Step 2a: an adaptive execution algorithm updates the outstandingorder vector
∆hupdatedκ = exec_algoφ(∆hκ , ∆hresid
κ , Eκ{Kresid}︸ ︷︷ ︸book info
, sκ↑
market info
) (10.46)
parameters
current outstandingorder vector (10.40)
residual amountof order to fill
expected residualtick-time left (10.45)
A simple adaptive execution algorithm
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 7: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/7.jpg)
The "Checklist"> 10. Execution > Order placementInner loop
Inner loop
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
Step 2a: an adaptive execution algorithm updates the outstandingorder vector
∆hupdatedκ = exec_algoφ(∆hκ , ∆hresid
κ , Eκ{Kresid}︸ ︷︷ ︸book info
, sκ↑
market info
) (10.46)
parameters
current outstandingorder vector (10.40)
residual amountof order to fill
expected residualtick-time left (10.45)
A simple adaptive execution algorithm
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 8: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/8.jpg)
The "Checklist"> 10. Execution > Order placementInner loop
Inner loop
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
Step 2a: an adaptive execution algorithm updates the outstandingorder vector
∆hupdatedκ = exec_algoφ(∆hκ , ∆hresid
κ , Eκ{Kresid}︸ ︷︷ ︸book info
, sκ↑
market info
) (10.46)
parameters
current outstandingorder vector (10.40)
residual amountof order to fill
expected residualtick-time left (10.45)
A simple adaptive execution algorithm
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 9: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/9.jpg)
The "Checklist"> 10. Execution > Order placementInner loop
Inner loop
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent > 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ > 0 go to step 2a
3. repeat if ∆hparent −∆hchild > 0 go to step 0
Table 10.5: The two loop algorithm for execution
Step 2b: at the next event the outstanding order is updated according to
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
order executedat the κ-th event
• Steps 2a-2b are repeated once the child order is fully executed• once the inner loop ends, the parent order is updated (Step 0)
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update
![Page 10: "The Checklist" - 10 Execution - Order placement](https://reader036.fdocument.pub/reader036/viewer/2022080503/58e515451a28ab2c1c8b64a5/html5/thumbnails/10.jpg)
The "Checklist"> 10. Execution > Order placement
Two loop algorithm (sell case)
0. Update parent order ∆hparent ← ∆hparent −∆hchild (∆hparent < 0)1a. Optimize schedule (volume time) h∗
1b. Compute first child order (volume time) ∆hchild ← h∗(E{∆Q})− hnow
2. Execute first child order (tick-time)2a. Update order vector2b. Update outstanding order2c. Repeat
∆hupdatedκ ← exec_algoφ(∆hκ,∆h
residκ ,Eκ{Kresid}, sκ) (10.46)
∆hresidκ ← ∆hresid
κ −∆hLastEventκ
if ∆hresidκ < 0 go to step 2a
3. repeat if ∆hparent −∆hchild < 0 go to step 0
Table 10.5: The two loop algorithm for execution
ARPM - Advanced Risk and Portfolio Management - arpm.co This update: Mar-28-2017 - Last update