1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! # Market Microstructure & Optimal Execution
//!
//! Optimal execution under permanent and temporary price impact, structural
//! single- and multi-period adverse-selection equilibria, transient
//! propagator-style impact, and microstructure-noise spread estimators.
//!
//! $$
//! x_k = X\,\frac{\sinh(\kappa(T-t_k))}{\sinh(\kappa T)},\qquad
//! \kappa = \sqrt{\lambda\sigma^2/\tilde\eta},\quad \tilde\eta = \eta - \gamma\tau/2.
//! $$
//!
//! # References
//! - Almgren, Chriss, "Optimal Execution of Portfolio Transactions", Journal
//! of Risk, 3(2), 5-39 (2001). DOI: 10.21314/JOR.2001.041
//! - Kyle, "Continuous Auctions and Insider Trading", Econometrica, 53(6),
//! 1315-1335 (1985). DOI: 10.2307/1913210
//! - Bouchaud, Gefen, Potters, Wyart, "Fluctuations and Response in Financial
//! Markets: The Subtle Nature of Random Price Changes", Quantitative
//! Finance, 4(2), 176-190 (2004). DOI: 10.1080/14697680400000022
//! - Obizhaeva, Wang, "Optimal Trading Strategy and Supply/Demand Dynamics",
//! Journal of Financial Markets, 16(1), 1-32 (2013).
//! DOI: 10.1016/j.finmar.2012.09.001
//! - Roll, "A Simple Implicit Measure of the Effective Bid-Ask Spread in an
//! Efficient Market", Journal of Finance, 39(4), 1127-1139 (1984).
//! DOI: 10.1111/j.1540-6261.1984.tb03897.x
//! - Hasbrouck, "Measuring the Information Content of Stock Trades", Journal
//! of Finance, 46(1), 179-207 (1991). DOI: 10.1111/j.1540-6261.1991.tb03749.x
//! - Corwin, Schultz, "A Simple Way to Estimate Bid-Ask Spreads from Daily
//! High and Low Prices", Journal of Finance, 67(2), 719-760 (2012).
//! DOI: 10.1111/j.1540-6261.2012.01729.x
pub use AlmgrenChrissParams;
pub use AlmgrenChrissPlan;
pub use ExecutionDirection;
pub use optimal_execution;
pub use ImpactKernel;
pub use propagator_impact_path;
pub use propagator_price_impact;
pub use KyleEquilibrium;
pub use multi_period_kyle;
pub use single_period_kyle;
pub use corwin_schultz_spread;
pub use effective_spread;
pub use roll_spread;