Spaces:
Running
on
Zero
Running
on
Zero
improve slider with smaller minimum days , add readme instructions for bankers
Browse files
README.md
CHANGED
@@ -167,3 +167,67 @@ Contributions are welcome! Please feel free to submit a Pull Request.
|
|
167 |
## License
|
168 |
|
169 |
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
## License
|
168 |
|
169 |
This project is licensed under the MIT License - see the LICENSE file for details.
|
170 |
+
|
171 |
+
## Practical Example: Creating a 6-Month 8% Yield Structured Product
|
172 |
+
|
173 |
+
### Scenario
|
174 |
+
A bank needs to create a structured product that offers an 8% yield over 6 months while maintaining profitability for the institution.
|
175 |
+
|
176 |
+
### Step-by-Step Implementation
|
177 |
+
|
178 |
+
1. **Initial Stock Screening**
|
179 |
+
- Use the application to analyze stocks with:
|
180 |
+
- High liquidity (for easy hedging)
|
181 |
+
- Stable volatility (for predictable risk)
|
182 |
+
- Strong technical indicators
|
183 |
+
- Positive long-term trends
|
184 |
+
- Recommended stocks: AAPL, MSFT, GOOGL (high liquidity, stable volatility)
|
185 |
+
|
186 |
+
2. **Product Structure Design**
|
187 |
+
- Use the 6-month prediction horizon
|
188 |
+
- Analyze historical volatility for barrier setting
|
189 |
+
- Set participation rate based on risk metrics
|
190 |
+
- Structure: Reverse Convertible with 8% coupon
|
191 |
+
|
192 |
+
3. **Risk Analysis**
|
193 |
+
- Use the application's risk metrics:
|
194 |
+
- Check maximum drawdown (should be < 15% for 6 months)
|
195 |
+
- Verify liquidity scores (should be > 80%)
|
196 |
+
- Analyze Sharpe ratio (should be > 1.5)
|
197 |
+
|
198 |
+
4. **Business Case Example**
|
199 |
+
|
200 |
+
**Product Parameters:**
|
201 |
+
- Notional Amount: $1,000,000
|
202 |
+
- Term: 6 months
|
203 |
+
- Coupon: 8% p.a. (4% for 6 months)
|
204 |
+
- Underlying: AAPL
|
205 |
+
- Barrier: 85% of initial price
|
206 |
+
- Participation: 100%
|
207 |
+
|
208 |
+
**Revenue Structure:**
|
209 |
+
- Client receives: 8% p.a. (4% for 6 months)
|
210 |
+
- Bank's hedging cost: ~5% p.a.
|
211 |
+
- Bank's profit margin: ~3% p.a.
|
212 |
+
- Total client payout: $40,000 (4% of $1M)
|
213 |
+
- Bank's profit: $15,000 (1.5% of $1M)
|
214 |
+
|
215 |
+
5. **Implementation Steps**
|
216 |
+
- Use the application's extended prediction horizon (180 days)
|
217 |
+
- Set technical indicators to monitor barrier risk
|
218 |
+
- Implement dynamic delta hedging based on predictions
|
219 |
+
- Monitor risk metrics daily using the application
|
220 |
+
|
221 |
+
6. **Risk Management**
|
222 |
+
- Use the application's volatility predictions for dynamic hedging
|
223 |
+
- Monitor technical indicators for early warning signals
|
224 |
+
- Set up automated alerts for barrier proximity
|
225 |
+
- Regular rebalancing based on prediction updates
|
226 |
+
|
227 |
+
### Key Success Factors
|
228 |
+
- Regular monitoring of prediction accuracy
|
229 |
+
- Dynamic adjustment of hedging strategy
|
230 |
+
- Clear communication of product risks to clients
|
231 |
+
- Proper documentation of all assumptions and methodologies
|
232 |
+
|
233 |
+
This example demonstrates how the application can be used to create profitable structured products while managing risk effectively. The bank can use this framework to create similar products with different underlying assets, terms, and yield targets.
|
app.py
CHANGED
@@ -337,10 +337,10 @@ def create_interface():
|
|
337 |
label="Days to Predict"
|
338 |
)
|
339 |
lookback_days = gr.Slider(
|
340 |
-
minimum=
|
341 |
maximum=3650, # 10 years of history
|
342 |
value=365,
|
343 |
-
step=
|
344 |
label="Historical Lookback (Days)"
|
345 |
)
|
346 |
strategy = gr.Dropdown(
|
|
|
337 |
label="Days to Predict"
|
338 |
)
|
339 |
lookback_days = gr.Slider(
|
340 |
+
minimum=1,
|
341 |
maximum=3650, # 10 years of history
|
342 |
value=365,
|
343 |
+
step=1,
|
344 |
label="Historical Lookback (Days)"
|
345 |
)
|
346 |
strategy = gr.Dropdown(
|