# python 3.6 assignment | Computer Science homework help

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 non-key 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 risk-free 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