java project代写, java project作业代写, java编程代写, java project代做
IS3230 Mini Project
Sem A, 2021/22
1 | P a g e
IS3230 Group Project Specifications
A. Introduction ‐ Stock Trend Analysis Tool
In stock market, trading is very risky. However, technical analysis, which is a way of predicting
future stock trends with historical trading data will provide investors good tool to reduce the
risk. Good analysis tool will convert market data to signals, help investors make decisions like
when to buy/sell, how much to buy/sell, at what price to buy/sell. Further, it will lead to
optimization algorithms for machine learning in designing stock market products. In this
project, we will use java to create a simple program to help finding out different patterns in
any given stock. The program would help you do a preliminary analysis of the historical
performance of a stock using various patterns.
B. Requirements
1) Data source:
You are given a csv file hsbc.csv which was downloaded from finance.yahoo.com and contains
historical trading price of HSBC.
You need save the data with file path: C:\data\.
You need write a class with main function with name: IS3230_Session_GroupNo.java
If you are in tutorial session L01 and group 2, then your java program containing the main
method must be named as: IS3230_L01_Group2.java. (Note that you need have more than
one class in this project to meet our programming requirement.)
2) Analysis Requirements:
You need write another program StockAnalyser.java which will read the stock price data and
has a method hammer() and threeWhiteSoldiers() to identify the following pattern with date
range specified by user:
1.
Hammer (a 1-day patter)
2.
Three White Soldiers (a 3‐day pattern)
The class diagram of StockAnalyser is provided in which variable data was not fully defined.
3) Program Requirements:
When the program is running, the users need specify the start date and end date for the
analysis range in a dialog box, in the format of yyyy‐mm‐dd, e.g. 2017‐09‐01 meaning 1st of IS3230 Mini Project
Sem A, 2021/22
2 | P a g e
September 2017. Result would be printed on the screen after analysis is done. Error
messages will be printed if something goes wrong, for example, the start date is after the
end date, or the start/end date is not within the given source file date coverage. The sample
interaction is as illustrated in the following screenshots for your reference:
1.
User runs the main program with the specified date, for example:
2.
The user choose the pattern to analyze:
3. User types the number that represents the pattern he/she wants to analyze either in a
dialog box or using Scanner class. In the following example, the user wants to analyze the
Hammer pattern and partial results are listed as:
The program analyzes the data in the given date range and the selected pattern, and displays
the transaction date that the pattern is found. For a multi‐day pattern, the last day of the
pattern should be displayed (i.e. the pattern confirmation date). The program should repeat
step 2 to allow user to try another pattern during this period or choose to exit the program.
D. Submissions and Demonstration
Submissions:
Submit your work (java programs and a short report) to the project submission link of our
course site on Canvas on or before Nov. 21st.
Late Penalty:
Late submission for 1 day or less: your respective project score x 25%; late
submission more than 3 day would not be accepted.
Note: All work submitted would be checked for plagiarism. If found, the source team (all
members) and the team who commits plagiarism (all members) would get 0 mark for this
project.
E. Weighting IS3230 Mini Project
Sem A, 2021/22
3 | P a g e
20%: a working program, well‐developed, good use of programming techniques, e.g. data
formats, methods, loops, decision structures, files, classes, exceptions, error messages etc.
5%:
a short report (no more than 3 pages, not including the cover page) with your
pattern assumptions, brief coding logic, exceptions handled and testing results for
the dates 2018-02-01 to 2019-03-31 for the two patterns
Code demonstration in tutorial WK13
F. Hints / Points to Note
1. Try to divide a big problem into smaller sub‐problems and solve the sub‐problems one by
one, e.g. using classes and functions to separate big problems into smaller sub‐problems. The
better you divide big problems into smaller ones and coordinate among solutions, the easier
it will be to complete this project. So, planning and communicating would be key skills of
success.
2. Start early, plan with the whole team, divide the work among members, merge and test
bit by bit.
3. You may need to make reasonable assumptions, e.g. what ratio should be the hammer
body vs the hammer lower shadow etc.. Assumptions might be asked by tutor in the
program demonstration. (Cite your reference resources in your interim report.)
References:
a. http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis#candlestick_charts
b. http://www.swing‐trade‐stocks.com/candlestick‐patterns.html
c. http://www.investopedia.com/terms/g/goldencross.asp
d. http://www.investopedia.com/terms/m/movingaverage.asp
