Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

IB3M10

Fintech Exam Paper Summer 2021-2022

Question 1

1.1  Outline the properties of a good hash function.  For each property, explain why it might be desired. [5 marks]

1.2 Your team is building a Bitcoin blockchain explorer and your colleague claims that:  “To increase throughput in the network, the difficulty of the proof-of-work problem in the Bitcoin blockchain decreases with the number of transactions in the Mempool, which are waiting to be added to the blockchain.” Do you agree with this statement? Explain your answer. [2 marks]

1.3 What side of the triangle, that we used to illustrate the blockchain trilemma, do proof-of- stake blockchains fall onto? Explain the trilemma and illustrate your answer. [3 marks]

1.4  Provide an example of a smart contract standard and explain the reasons behind the creation of smart contract standards. [2 marks]

1.5 Write down and explain the free entry condition for miners that is used in the paper “The Economic Limits of Bitcoin and the Blockchain” by Budish (2018). [Hint:  begin by defining the ingredients of the equation.] [6 marks]

1.6 What are the two primary ways to get the decentralized stablecoin DAI? For each of the two methods, describe how you would follow it to obtain DAI. [4 marks]

1.7 What is the primary role of hash functions in the Bitcoin blockchain? Explain your answer. [3 marks]

1.8 How are the externalities of the arms race between Bitcoin miners expected to evolve with the price of Bitcoin? Explain the externalities and your answer. [2 marks]

1.9 What are the advantages of decentralized cryptocurrency exchanges compared to central- ized exchanges? What are the disadvantages? [3 marks]

1.10 Illustrate schematically the workings of the collateralized stablecoin Tether.  [Hint:  draw the main parties involved and describe relationships between them.] [4 marks]

[Total marks: 34]

Question 2

2.1 You are working for a lending organization and your team is exploring novel methods for credit risk estimation. Your colleague claims that:  “Borrowers credit risk decreases when lenders use big data and ML-tools” .  Do you agree with this statement?  Explain your answer. [2 marks]

2.2  Regarding a potential implementation of CBDC, explain the reasons why a central bank might be reluctant to provide everyone with a direct account with the central bank. [3 marks]

2.3 What are the incentives for banks to share some of their proprietary information with credit reporting agencies and, by proxy, with their competitors? [3 marks]

2.4  Outline the objectives of nancial regulation.  For each objective, explain whether it was met in the case of Wirecard. [3 marks]

2.5 You are building a ML model and would like to avoid biases in its output.  Describe the steps you would take to minimize potential occurrence of biases and explain how these steps are supposed to help. [2 marks]

2.6  Outline the steps of the wealth management process that we discussed in the class.  For each step explain, whether and how it can be automated. [4 marks]

2.7  Provide two examples of non-financial rms entering the lending market.  In each case, provide the reasons that might explain their decision to enter. [2 marks]

2.8 What incentives might a retail broker like Robinhood have to gamify trading experience for their customers? Explain your answer. [2 marks]

2.9 What are the two types of network effects that we discussed in the class?  Explain the differences between them and illustrate your answer. [4 marks]

[Total marks: 25]

Question 3

All questions below refer to the programming language Python.

3.1  Suppose you would like to store an inventory of student names together with the corre- sponding student marks for two modules, call them Module A and Module B. What data type would you use? Describe how you would arrange it and provide an example. [2 marks]

3.2  Describe what the following script does.  [Hint:  use the line numbers on the left to refer to a part of the code .]

1           def   add _ tx _mining ( block ) :

2                  difficulty = len ( block )

3                  chain =0

4                  while   chain < difficulty :

5                          if   block [ chain ]== "   " :

6                                 break

7                          print ( block [ chain ])

8                          chain +=1

9                  return   " End "

10

11           add _ tx _mining ( " West   End " )

What is its output? [6 marks]

3.3  Describe what the following script does.  [Hint:  use the line numbers on the left to refer to a part of the code .]

1           import   pandas   as  pd

2           fee =50

3           stones   =  pd . DataFrame ({ " Paid " :   [250 ,   350 ,   200 ,   100] , 4           " Volume " :   [5 ,   15 ,   5 ,   20]})

5           colors   =   [ " Black " , " Green " , " Blue " , " Red " ]

6           numbers   =   [1 ,2 ,3 ,4]

7           for   i   in   range (4) :

8                  numbers [ i ]  =   colors [3 - i ]

9           stones [ " Color " ]  =  numbers

10           stones [ " PPS " ]  =   stones . apply ( lambda   x :   ( x [ " Paid " ] - fee ) / x [ " Volume " ] , axis =1)

11           buy   =   stones [ " Color " ]   !=   " Red "

12           sell   =   stones [ " PPS " ]   >   10

13           trade   =   stones [ buy & sell ]

14           print ( trade )

What is its output? [6 marks]

3.4 Your team is working on a tool that would estimate housing rental rates with high precision. Your colleague has already built and trained a neural network model. However, the current results are short of the desired precision and the colleague is considering an increase to the number of neurons in one of the hidden layers of the model. Do you support this decision? Explain. Is there another route of action that you can recommend? [4 marks]

3.5  Describe what the following script does.  Note: it uses the variable stones from part 3.3 above.  [Hint:  use the line numbers on the left to refer to  a part of the code .]

1           class   chest () :

2                  def   _ _ init _ _ ( self ,   first ,   second   =   5) :

3                          self . gems   =   first

4                          self . worth   =   second

5                  def   value _ gems ( self ) :

6                          print ( self . gems . head ( self . worth ) )

7                  def   count _ gems ( self ) :

8                          print ( self . gems [ " Volume " ] . value _ counts () )

9

10           coins   =   1

11           my _ gear   =   chest ( stones ,   coins )

12           my _ gear . value _ gems ()

13           my _ gear . count _ gems ()

What is its output? [6 marks]

3.6 You would like to train a random forest model. For this, you have already i) collected the data; ii) saved labels in the variable labels and features in the variable features; iii) started working on the code:

1           from   sklearn . ensemble   import   R a n d om F o r e s t R e g r e s s o r

2           from   sklearn . metrics   import   m e a n _ s qu a r e d _ e r r o r   as  my _mse

3           ran _ for   =   R a n d om F o r e s t R e g r e s s o r ( random _ state =1)

Continue the code in order to train the model on your data and compute the value of the loss function as mean squared errors.  [Hint:  this can be done in three lines of code .] [4 marks]

3.7 You have trained a decision tree model and need to evaluate its performance. You compare a value of the loss function for a training set with a value of the loss function for a validation set and realize that the two differ significantly.  Explain why this might be problematic and describe what you can do to resolve the issue. [3 marks]

[Total marks: 31]