合肥生活安徽新闻合肥交通合肥房产生活服务合肥教育合肥招聘合肥旅游文化艺术合肥美食合肥地图合肥社保合肥医院企业服务合肥法律

代做Coding Project Test 编程设计

时间:2024-01-28  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



Coding Project Test
 
Project Goal: 
- The goal of the coding project is to create a general event-driven back-testing framework that can test various tradingor allocation strategies. The strategies can be based on fundamental, macro or technical signals. 
Language: 
- Python
Use of Third-party Library: 
- No constraints
Notes:
- As the framework need to be able to handle various types of strategies (as you can see in the examples in the Details section), ideally it should be written in Object Oriented Programming style
- The back-testing framework should be event-driven instead of vector based, as the latter is hard to get generalized to different types of strategies
- The framework should be able to handle both cases 1) and 2) provided in the details below
 
Details:
General Guidelines: 
The back-testing project will be divided into two parts. Each part is separate from the other, but they should share a common underlying framework. Part 1) is to test a simpler one asset, one signal case. Part 2) is to test a more complicated multi-asset, systematic rebalancing case. The part 2) also tests your derivatives knowledge and involves a few technical details. If you don't know how to handle some of the details, please code based on your own assumptions and make sure you highlight the assumptions in commentary sections of your code. If given your background, you have no clue about the part 2), then please focus on the part 1) and make sure it can be expanded to a multi-asset case easily and show in an example.
The starting balance of the portfolio in both cases is $1 million.The back-testing time horizon is from June 2005 to December 2023.
Description of Strategies:
1) Back-test a trend following strategy on S&P 500 ETF (Ticker: SPY):
The strategy is based on the common moving average crossing signal. The rule of the strategy is: if 50-day moving average crosses above 200-day moving average, invest all money in S&P 500; if 50-day moving average crosses below 200-day moving average, sell the existing position; if nothing happened, park the money in cash, earning money market rate. No short or leverage is allowed.
2) Back-test a systematic derivative portfolio strategy based on S&P 500 ETF (Ticker: SPY):
The systematic strategy is based on a common collar derivative strategy below (Note: the total portfolio is a) + b) + c). Don’t treat them as separate portfolios)
a) Long SPY
b) Buy SPY 95% strike OTM put. The put notional is 100% of the long position to provide protection. The maturities of the contracts are evenly spread across 3, 6, 9 and 12-month. The positions are rolled every 3 months to keep the structure stable. 
c) Sell SPY 105% strike OTM call. The call notional is 100% of the long position to generate income. The maturity of the contracts is 1 month. They are rolled every month when they expire.
 
∗ (Bonus) Apply the same strategies as in part 1) and 2), but this time with transaction cost. For S&P 500 index ETF trading, please assume 3 cents per share transaction cost. For SPY derivatives contract trading, please assume 4 cents per share (note: contract multiplier is 100 shares, which means $4 per contract)
 
Output Requirements:
- Show portfolio net asset value in a time series chart
- Clearly logging all transactions made in following the strategies
- Briefly analyze the results generated from the code and comment on why the strategies worked or did not work. Provide caveat or highlight potential issues in deploying the strategies
 
Data Files: (Note: you don't have to use all the data if there is redundancy)
- Data needed to test strategies is in the file: Coding_Proj_Data.xls
- Tab 1: SPY price and dividend yield data
- Tab 2: SPY quarterly dividend data
- Tab 3: Interest rate of various maturities: from 1-day to 360-day. If you need interest rates from other maturities, feel free to interpolate. 
- Rest of tabs: SPY implied volatility of various maturities. For example, "30IV" tab is the 30-day implied volatility of various strikes. If any maturity or strike level is missing, please linear interpolate/extrapolate yourself from two adjacent maturities or strikes.
如有需要,请加QQ:99515681 或WX:codehelp

扫一扫在手机打开当前页
  • 上一篇:代做EEE6207、代写 c/c++语言程序
  • 下一篇:上海帅康热水器维修(全国统一服务热线)上海帅康热水器售后维修电话
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
    合肥轨道交通线路图
    合肥轨道交通线路图
    合肥地铁5号线 运营时刻表
    合肥地铁5号线 运营时刻表
    合肥地铁4号线 运营时刻表
    合肥地铁4号线 运营时刻表
  • 关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

    Copyright © 2020 hfw.cc Inc. All Rights Reserved. 合肥网 版权所有
    ICP备06013414号-3 公安备 42010502001045