Python 3.6 Assignment.
Hello,
Hope this email finds you well.
I have an important assignment worth 100% of my grade that I really need your help with. Kindly find below the set of questions:
Assignment
Answer all parts of the following question. Marks allocated to each part in square
brackets.
Data source for Questions 2 through 5 needs to be the same, and has to be mentioned at
the beginning of your report
1) Many people find it difficult to understand blockchain because it requires the
coordination of many components for it to function, and it’s hard to see the full picture
until all the individual components are fully understood. In brief, please explain the
following from a technological standpoint: What are the basics of interaction of
cryptography and economics? What is your fundamental understanding of blockchain
technology? [10]
2) What were the key events for Cryptocurrencies from January 31, 2018 till January 31,
2019? Create and present a graphical timeline with the key dates and the key events.
What was the reaction in Bitcoin trading (BTC) on these dates? Did the BTC price go up
or down? By how much? What was the mean return on key events dates? What was the
median return? What was the standard deviation? Plot the distribution of the daily
percentage change on key events dates. Create a variable that takes the value 0 on days
without key events and 1 on days with key events. Calculate the correlation matrix on key
events dates and nonkey events dates between the behaviour of Bitcoin, Ethereum
(ETH), Ripple (XRP) and Nasdaq. Perform a regression analysis between the previous
variables and briefly comment on the results.
[25]
3) Create a function called assess_portfolio() that takes as input an asset allocation of a
cryptocurrency asset portfolio and computes important statistics about the portfolio. You
are given the following inputs for analysing a portfolio:
• A date range to select the historical data to use (specified by a start and end date).
You should consider performance from close of the start date to close of the end
date on a daily basis, if you choose intraday data then please use daily median
price.
• Symbols for each cryptocurrency asset (e.g., BTC, ETH, XRP, LTC).
• Portfolio allocations for each asset at the beginning of the simulation (e.g., 0.2,
0.3, 0.4, 0.1) which should sum to 1.0.
• Total starting value of the portfolio (e.g. $1,000,000)
Your goal is to create a programme to compute and visualise the daily portfolio value
over the given date range within a sample period from: February 15, 2017 to February 15,
2019, and then the following statistics for the overall portfolio:
• Cumulative return for the chosen date range from the sample period
• Plot the average period return (if sampling frequency == 252 trading days then
this is average daily return for the portfolio)
• Calculate the standard deviation of daily returns
• Calculate the annualised Sharpe ratio of the daily returns of the portfolio, given
daily riskfree rate (usually average of overnight LIBOR rate), and yearly
sampling frequency (usually 252 days, the number of trading days in a year)
• Plot the moving historical volatility with a minimum rolling period of 30 days
(i.e. moving historical standard deviation of the log returns)
• Ending value of the portfolio
Are these returns all positive? Or not? What is your explanation for what you observe?
[25]
4) Create an event study profile of a specific market event in the Cryptocurrency market,
and compare its impact on two relatively liquid cryptocurrencies. The event is defined as
when the daily median price / daily close price of the cryptocurrency is 10% lower than
the previous day. Evaluate this event for the time period: February 15, 2017 to February
15, 2019. Create and describe your own trading strategy based on the findings, to include
writing the code for your trading strategy and execution of the strategy with relevant
visual output in plots for this sample period. [20]
5) Now that you’ve got your trading strategy at hand, it’s a good idea to also backtest it and
optimise its performance. However, when you’re backtesting, it’s a good idea to keep in
mind that there are some pitfalls. For example, external events such as market regime
shifts, which are regulatory changes or macroeconomic events. Also, liquidity constraints,
could affect your backtesting heavily. Create your own ‘market event’ and experiment
with it using your trading strategy developed in the previous question for a
cryptocurrency portfolio. Consider answering these questions:
? Explain why the event chosen is a relevant ‘market event’ for cryptocurrency assets?
? Is it possible to make money using your event?
? If it is possible, what is your trading strategy? Think about details of entry (buy), exit
(sell) and how many days would you hold?
? Is this a risky strategy?
? How much do you expect to make on each trade?
? How many times do you expect to be able to act on this opportunity each year?
? Is there some way to reduce the risk? [20]
For questions 2, 3, 4 and 5, you will need to write code in Python 3.6 using Python functions, libraries
and classes. You will need to respect the good programming practices such as commenting your code
so that it is clear (to you and other programmers that might read it) as to what it attempts to execute.
Assessment Criteria
Your work will be assessed in terms of how well you have carried out the various parts of the
assignment, in terms of: appropriate understanding of key concepts / principles discussed in class
(programming code, functions, classes, commenting); correctness, clarity, completeness and
relevance of your interpretations and commentaries.
The marks assigned to each part of the assignment are given in square brackets at the end of each part.
Kindly reply to me the soonest if you could help me out.
you need to use python 3.6
Many thanks

PROJECT.pdf

Demo.py