Descendants Fanfiction Mal Rules The Isle, Cairns Base Hospital Parking Fees, Gato Negro Con Blanco Significado Espiritual, Joe Baker Moonshine Net Worth, Articles T

We will be utilizing SMA in conjunction with a, few other indicators listed below to optimize our trading strategy for real-world. If you use an indicator in Project 6 that returns multiple results vectors, we recommend taking an additional step of determining how you might modify the indicator to return one results vector for use in Project 8. . 2.The proposed packing strategy suggests a simple R-tree bulk-loading algorithm that relies only on sort-ing. When a short period moving mean goes above a huge long period moving mean, it is known as a golden cross. In the Theoretically Optimal Strategy, assume that you can see the future. However, that solution can be used with several edits for the new requirements. The average number of hours a . In Project-8, you will need to use the same indicators you will choose in this project. Create a Theoretically optimal strategy if we can see future stock prices. This file has a different name and a slightly different setup than your previous project. result can be used with your market simulation code to generate the necessary statistics. This is a text file that describes each .py file and provides instructions describing how to run your code. The specific learning objectives for this assignment are focused on the following areas: Please keep in mind that the completion of this project is pivotal to Project 8 completion. df_trades: A single column data frame, indexed by date, whose values represent trades for each trading day (from the start date to the end date of a given period). . The technical indicators you develop here will be utilized in your later project to devise an intuition-based trading strategy and a Machine Learning based trading strategy. However, sharing with other current or future, students of CS 7646 is prohibited and subject to being investigated as a, -----do not edit anything above this line---, # this is the function the autograder will call to test your code, # NOTE: orders_file may be a string, or it may be a file object. You are encouraged to develop additional tests to ensure that all project requirements are met. The report is to be submitted as. At a minimum, address each of the following for each indicator: The total number of charts for Part 1 must not exceed 10 charts. import TheoreticallyOptimalStrategy as tos from util import get_data from marketsim.marketsim import compute_portvals from optimize_something.optimization import calculate_stats def author(): return "felixm" def test_optimal_strategy(): symbol = "JPM" start_value = 100000 sd = dt.datetime(2008, 1, 1) ed = dt.datetime(2009, 12, 31) If the report is not neat (up to -5 points). specifies font sizes and margins, which should not be altered. import datetime as dt import pandas as pd import numpy as np from util import symbol_to_path,get_data def 0 stars Watchers. Scenario TourneSol Canada, Ltd. is a producer of, Problem: For this particular assignment, the data of different types of wine sales in the 20th century is to be analysed. Your report should useJDF format and has a maximum of 10 pages. Three examples of Technical indicators, namely Simple moving average, Momentum and Bollinger Bands. manual_strategy/TheoreticallyOptimalStrategy.py Go to file Cannot retrieve contributors at this time 182 lines (132 sloc) 4.45 KB Raw Blame """ Code implementing a TheoreticallyOptimalStrategy object It should implement testPolicy () which returns a trades data frame It is OK not to submit this file if you have subsumed its functionality into one of your other required code files. We have you do this to have an idea of an upper bound on performance, which can be referenced in Project 8. Use only the data provided for this course. If the required report is not provided (-100 points), Bonus for exceptionally well-written reports (up to +2 points), If there are not five different indicators (where you may only use two from the set discussed in the lectures [SMA, Bollinger Bands, RSI]) (-15 points each), If the submitted code in the indicators.py file does not properly reflect the indicators provided in the report (up to -75 points). Students are encouraged to leverage Gradescope TESTING before submitting an assignment for grading. Note: Theoretically Optimal Strategy does not use the indicators developed in the previous section. You may also want to call your market simulation code to compute statistics. See the appropriate section for required statistics. The technical indicators you develop here will be utilized in your later project to devise an intuition-based trading strategy and a Machine Learning based trading strategy. Of course, this might not be the optimal ratio. No credit will be given for code that does not run in this environment and students are encouraged to leverage Gradescope TESTING prior to submitting an assignment for grading. Here are my notes from when I took ML4T in OMSCS during Spring 2020. You should create the following code files for submission. In this project, you will develop technical indicators and a Theoretically Optimal Strategy that will be the ground layer of a later project. It is usually worthwhile to standardize the resulting values (see, https://en.wikipedia.org/wiki/Standard_score. This is an individual assignment. If you use an indicator in Project 6 that returns multiple results vectors, we recommend taking an additional step of determining how you might modify the indicator to return one results vector for use in Project 8. Please note that there is no starting .zip file associated with this project. Only code submitted to Gradescope SUBMISSION will be graded. In Project-8, you will need to use the same indicators you will choose in this project. Momentum refers to the rate of change in the adjusted close price of the s. It can be calculated : Momentum[t] = (price[t] / price[t N])-1. You are allowed to use up to two indicators presented and coded in the lectures (SMA, Bollinger Bands, RSI), but the other three will need to come from outside the class material (momentum is allowed to be used). You will have access to the ML4T/Data directory data, but you should use ONLY the API functions in util.py to read it. Charts should be properly annotated with legible and appropriately named labels, titles, and legends. The report is to be submitted as p6_indicatorsTOS_report.pdf. . Be sure you are using the correct versions as stated on the. In this case, MACD would need to be modified for Project 8 to return your own custom results vector that somehow combines the MACD and Signal vectors, or it would need to be modified to return only one of those vectors. section of the code will call the testPolicy function in TheoreticallyOptimalStrategy, as well as your indicators and marketsimcode as needed, to generate the plots and statistics for your report (more details below). . Late work is not accepted without advanced agreement except in cases of medical or family emergencies. No credit will be given for code that does not run in the Gradescope SUBMISSION environment. A tag already exists with the provided branch name. For example, you might create a chart showing the stocks price history, along with helper data (such as upper and lower Bollinger Bands) and the value of the indicator itself. By looking at Figure, closely, the same may be seen. For large deviations from the price, we can expect the price to come back to the SMA over a period of time. Our Challenge Some indicators are built using other indicators and/or return multiple results vectors (e.g., MACD uses EMA and returns MACD and Signal vectors). Performance metrics must include 4 digits to the right of the decimal point (e.g., 98.1234). result can be used with your market simulation code to generate the necessary statistics. You may not use any code you did not write yourself. (-2 points for each item if not), Is the required code provided, including code to recreate the charts and usage of correct trades DataFrame? You are encouraged to develop additional tests to ensure that all project requirements are met. There is no distributed template for this project. Create a set of trades representing the best a strategy could possibly do during the in-sample period using JPM. Include charts to support each of your answers. This framework assumes you have already set up the. On OMSCentral, it has an average rating of 4.3 / 5 and an average difficulty of 2.5 / 5. View TheoreticallyOptimalStrategy.py from CS 4646 at Kenesaw Secondary School. The algorithm first executes all possible trades . The Gradescope TESTING script is not a complete test suite and does not match the more stringent private grader that is used in Gradescope SUBMISSION. You are allowed unlimited resubmissions to Gradescope TESTING. Bonus for exceptionally well-written reports (up to 2 points), Is the required report provided (-100 if not), Are there five different indicators where you may only use two from the set discussed in the lectures (i.e., no more than two from the set [SMA, Bollinger Bands, RSI])? Any content beyond 10 pages will not be considered for a grade. We have you do this to have an idea of an upper bound on performance, which can be referenced in Project 8. . If you need to use multiple values, consider creating a custom indicator (e.g., my_SMA(12,50), which internally uses SMA(12) and SMA(50) before returning a single results vector). Anti Slip Coating UAE June 10, 2022 Complete your report using the JDF format, then save your submission as a PDF. section of the code will call the testPolicy function in TheoreticallyOptimalStrategy, as well as your indicators and marketsimcode as needed, to generate the plots and statistics for your report (more details below). You may also want to call your market simulation code to compute statistics. compare its performance metrics to those of a benchmark. You will submit the code for the project. This length is intentionally set, expecting that your submission will include diagrams, drawings, pictures, etc. You are encouraged to submit your files to Gradescope TESTING, where some basic pre-validation tests will be performed against the code. 'Technical Indicator 3: Simple Moving Average (SMA)', 'Technical Indicator 4: Moving Average Convergence Divergence (MACD)', * MACD - https://www.investopedia.com/terms/m/macd.asp, * DataFrame EWM - http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.ewm.html, Copyright 2018, Georgia Institute of Technology (Georgia Tech), Georgia Tech asserts copyright ownership of this template and all derivative, works, including solutions to the projects assigned in this course. You should create a directory for your code in ml4t/manual_strategy and make a copy of util.py there. Ten pages is a maximum, not a target; our recommended per-section lengths intentionally add to less than 10 pages to leave you room to decide where to delve into more detail. As will be the case throughout the term, the grading team will work as quickly as possible to provide project feedback and grades. If you use an indicator in Project 6 that returns multiple results vectors, we recommend taking an additional step of determining how you might modify the indicator to return one results vector for use in Project 8. You are constrained by the portfolio size and order limits as specified above. Provide a chart that illustrates the TOS performance versus the benchmark. You will not be able to switch indicators in Project 8. . (-5 points if not), Is there a chart for the indicator that properly illustrates its operation, including a properly labeled axis and legend? You signed in with another tab or window. The following adjustments will be applied to the report: Theoretically optimal (up to 20 points potential deductions): Code deductions will be applied if any of the following occur: There is no auto-grader score associated with this project. For this activity, use $0.00 and 0.0 for commissions and impact, respectively. SUBMISSION. (up to -100 points), Course Development Recommendations, Guidelines, and Rules. A) The default rate on the mortgages kept rising. The main method in indicators.py should generate the charts that illustrate your indicators in the report. Legal values are +1000.0 indicating a BUY of 1000 shares, -1000.0 indicating a SELL of 1000 shares, and 0.0 indicating NOTHING. Describe how you created the strategy and any assumptions you had to make to make it work. (-2 points for each item), If the required code is not provided, (including code to recreate the charts and usage of correct trades DataFrame) (up to -100 points), If all charts are not created and saved using Python code.