Anteprima
Vedrai una selezione di 6 pagine su 22
Formulario completo di Strumenti computazionali per l'economia Pag. 1 Formulario completo di Strumenti computazionali per l'economia Pag. 2
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Formulario completo di Strumenti computazionali per l'economia Pag. 6
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Formulario completo di Strumenti computazionali per l'economia Pag. 11
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Formulario completo di Strumenti computazionali per l'economia Pag. 16
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Formulario completo di Strumenti computazionali per l'economia Pag. 21
1 su 22
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CAPOVOLGIAMO I VINCOLI

ib <- function(x) x[2]-2>0 | parabvett(x)<0
gvpen <- function(x,lambda=1000) ib(x)*lambda - fv(x) #il - è perchè voglio massimizzare,altrimenti avrei dovuto usare il +
#attentissimo che causa di errore è confondere fv con parabvett
max <- optim(c(0,0),gvpen)
maxpoints(max$par[1],max$par[2]) L,k
#The production of a firm is 0.25*l^0.7*k^0.3, where l is labour and k is capital. The unitcosts of labour and capital are 0.5 and 1.1, respectively. Which is the maximum productionif the cost of the factors cannot exceed 2?
fprod <- function(l,k) 0.25*l^0.7*k^0.3
l <- seq(0,10,len=51)
k <- seq(0,10,len=51)
z <- outer(l,k,fprod)
contour(l,k,z)
#vincolo 0.5*l+1.1*k=2 diventa 1.1*k=2-0.5*l
abline(2/1.1,-0.5/1.1)
fprodvett <- function(x) fprod(x[1],x[2])
#vincoli l>=0,k>=0,0.5*l+1.1*k<=2
#tutti i vincoli devono essere in forma >= MAGGIORE UGUALE
#-0.5*l-1.1*k>=-2
A <- matrix(c(1,0,0,1,-0.5,-1.1),3,2,byrow=T) #fondamentale

il byrow=Tb <- c(0,0,-2)constrOptim(c(1,1),fprodvett,NULL,A,b,control=list(fnscale=-1)) #il punto c(1,1) è internoalla regione ammissibile#$valueSCORCIATOIA

The production of a firm is 0.75l^0.2 * k^0.8 , where l is labour and k is capital. The unitcosts of labour and capital are 0.5 and 1.1, respectively. Which is the maximum productionif the cost of the factors cannot exceed 4?fp <- function(l,k) {0.75*(l^0.2)*(k^0.8)}fpv <- function(x) fp(x[1],x[2])#vincoli: l>=0, k>=0, 0.5*l+1.1*k<4 -> -0.5*l-1.1*k>4A <- matrix(c(1,0,0,1,-0.5,-1.1),3,2,byrow=T)b <- c(0,0,-4)constrOptim(c(1,1),fpv,NULL,A,b,control=list(fnscale=-1))

Funzione profitto#Profits depend on price p and can be described as f(p) = 3*exp(1.5*p) -0.3*exp(4*p). Theactual price is 0.58. Which of the following is true?#(a) The profit-maximizing price is about 0.53.#(b) The optimal profit is about 5.016.#(c) Profit would be maximized decreasing the price by about 7.1%.#(d) Increasing the price

can result in profit's increasef <- function(p) 3*exp(1.5*p) -0.3*exp(4*p) optimise(f,c(0,2),maximum=T)#$maximum è relativo a p, $objective è relativo alla funzione Replicabilita' & arbitraggio Consider the assets(118,99,109), (96,101,92) and (84.6,80,81.4) whose prices are100.16,87.17, 74.546, respectively. Is the third asset replicable? Do you have an arbitrageopportunity on the third asset? (a) No, it's not replicable. Hence, there is an arbitrage opportunity. (b) No, it's not replicable and there is NO arbitrage opportunity. (c) Yes, it's replicable and there is an arbitrage opportunity. (d) Yes, it's replicable but there is NO arbitrage opportunity. Y <- matrix(c(118,99,109,96,101,92),3,2,byrow=T) #le colonne della matrice sono i diversi assets b <- c(84.6,80,81.4) #vettore del terzo asset pigreco <- c(100.16,87.17,74.546) #vettore dei prezzi qr(Y)$rank #2 qr(cbind(Y,b))$rank #3 #se i due rank sono diversi gli asset non sono

replicabili e, dunque, non c'è possibilità di arbitraggio -> -999

Consider the assets (118,106,103), (98,99,114)and (98.2,92.6,97.1) whose prices are95.70, 93.50, 85.250, respectively. Is the third asset replicable? Do you have an arbitrageopportunity on the third asset?

A <- matrix(c(118,106,103,98,99,114),3,2)

b <- c(98.2,92.6,97.1)

pigreco <- c(95.70, 93.50, 85.250)

qr(A)$rank #2

qr(cbind(A,b))$rank #2

i rank sono uguali perciò c'è replicabilità

library(MASS)

sol <- ginv(A)%*%b

ris <- sol[1]*pigreco[1]+sol[2]*pigreco[2]

ris è uguale al terzo elemento di pigreco, perciò non c'è possibilità di arbitraggio

Consider the assets (115,109,105)(105,107,103) and (110,108,104) whose prices are99.36, 93.96, 97.660, respectively. Is the third asset replicable? Do you have an arbitrageopportunity on the third asset?

A <- matrix(c(115,109,105,105,107,103),3,2)

b <- c(110,108,104)

pigreco <- c(99.36, 93.96,

97.660)qr(A)$rank #2qr(cbind(A,b))$rank #2#replicabilitàlibrary(MASS)sol <- ginv(A)%*%bris <- sol[1]*pigreco[1]+sol[2]*pigreco[2]ris #96.66#96.66 != 97.66, arbitraggio

Soluzione di un sistema di equazioni in + variabili

Solve the system matrix(c(1,2,1,-2,-2,0,-5,-6,-1),3,3) * c(x,y,z) = c(5,12,7).

Write the sum of the components of the solution or -999, if the system has no solution.

A <- matrix(c(1,2,1,-2,-2,0,-5,-6,-1),3,3)det(A) #0#se è 0 non possiamo usare Kramerb <- c(5,12,7)qr(A)$rank #2qr(cbind(A,b))$rank #2#quando i rank sono uguali possiamo trovare la somma delle soluzioni possibililibrary(MASS)soluzione <- ginv(A)%*%bsum(soluzione)

CASO CRAMER#abbiamo un sistema del tipo: matrice coefficienti "A" * vettore incognite x,y,z = vettoretermini noti "b"A <- matrix(c(2,-1,0,1,2,3,-2,1,4),3,3) #matrice dei coefficientib <- c(2,0,1) #vettore dei termini notidet(A) #20#il det(A) è diverso da 0, perciò possiamo applicare

Cramer (un'unica soluzione) qr(A)$rank #3 qr(cbind(A,b))$rank #3 #i ranghi sono massimi per entrambi i casi, perciò possiamo applicare Cramersolve(A,b) #vettore di 3 elementi

Calcolo probabilità # The quality of a new item is assessed using 2 numeric measures. Assume they are uniform random numbers. Estimate how likely it is that the maximum of the measures exceeds 0.5. #a) About 0.22; b) About 0.75; c) About 0.9; d) About 0.39.

esp <- function(x) max(runif(2))>0.5
sol <- replicate(100000,esp())
sum(sol)/100000

The quality of a new item is assessed using 3 numeric measures. Assume they are normal random numbers. Estimate how likely it is that the minimum of the measures exceeds 0.5. #a) About 0.54; b) About 0.03; c) About 0.48; d) About 0.34.

esp <- function(x) min(rnorm(3))>0.5
ris <- replicate(100000,esp())
sum(ris)/100000

The quality of an organizational process is assessed using 2 numeric measures. Assume they are normal random numbers. Estimate how likely it is

that the average of themeasures exceeds 0.6.

a) About 0.54; b) About 0.94; c) About 0.2; d) About 0.81

esp <- function() mean(rnorm(2))
>0.6
ris <- replicate(100000,esp())
sum(ris)/100000

Run a simulation to estimate the probability that a standard random uniform is biggerthan another uniform random number in [0.3,1.1].

a) About 0.405; b) About 0.356; c) About 0.306; d) About 0.257.

a <- runif(100000)
b <- runif(100000,0.3,1.1)
sum(a>b)/100000

Assume you have to create a random group of 4 employees of types A B C D E (and youhave 7 of kind A, 4 of kind B, 6 of kind C, 5 of kind D, 3 of kind E). What is the probabilitythat the group has 2 different types or more?

a) About 0.99; b) About 0.34; c) About 0.22; d) About 0.19.

impiegati <- c(rep("A",7),rep("B",4),rep("C",6),rep("D",5),rep("E",3)) #ripetiamo anche rep
esp <- function() {
gruppo <- sample(impiegati,4) #estraiamo 4 elementi del vettore impiegati
diversi <-
length(unique(gruppo)) #unique toglie al vettore gruppo elementi che si ripetono e length conta quanti sono questi elementi, lasciandoci con il vettore diversi che contiene il numero di elementi diversi estratti
if(diversi > 1) {
  1 #SE IL COMPITO CHIEDE diversi = 2 DEVO SCRIVERE if(diversi > 1 & diversi < 3) else 0
}
ris <- replicate(100000, esp())
sum(ris)/100000 #Considerate la funzione f(x) = x^2 + y^2 + x*y + 3x + 2y. Prendete un punto (casuale) le cui componenti sono una variabile casuale normale standard. Quanto è probabile che il valore di f nel punto sia tra 0 e 4?
#a) About 0.23; b) About 0.64; c) About 0.83; d) About 0.13.
esp <- function() {
  f <- function(x, y) x^2 + y^2 + x*y + 3*x + 2*y
  x <- runif(1)
  y <- runif(1)
  if(f(x, y) > 0 & f(x, y) < 4) {
    1
  } else {
    0
  }
}
ris <- replicate(100000, esp())
sum(ris)/100000 #Campionate un punto uniforme casuale nel rettangolo [0,4] x [0,2]. Quale è la probabilità che il punto si trovi sulla sinistra della parabola y = 2*x^2 - 3 (usate
<p>10000 simulazioni)esp <- function() {x <- runif(1,0,4)y <- runif(1,0,2)parabola <- function(x) 3*x^2-2if(y>parabola(x)) 1 #il fatto che la parabola sia calcolata in un comune punto x ci spinge adover porre la condizione sulla sola yelse 0}ris <- replicate(10000,esp())sum(ris)/10000</p> <p>Scrittura di funzioni#scrivere una funzione "esame" che accetta in input un vettore x. Se il vettore x contienepiù di 5 elementi, allora la funzione deve calcolare il prodotto dei primi 5 elementi delvettore, se il vettore contiene 5 o meno elementi, allora la funzione deve passare in outputil valore 0.esame <- function(x) {x #NON serve identificarlo come vettoreif(length(x)>4) x[1]+x[2]+x[3]+x[4]+x[5]else 0}x <- c(1,2,3,4,5,6)esame(x) #15x <- c(1,2)esame(x) #3#scrivere una funzione "esame" che accetta in input tre valori a,b,c (assumiamo chel'utilizzatore inserisca solo numeri strettamente maggiori di 0 e strettamente minori di 4).Se la somma

dei 3 parametri di input supera 5 allora la funzione deve calcolare il valore della funzione obiettivo f(x)=a*x^2+b*x+c in corrispondenza del suo minimo (calcolato nell'intervallo x tra [-100,100]). Se la somma dei parametri di input è inferiore di 5 allora la funzione deve passare in output la somma dei 3 valori a,b,c.

esame <- function(a,b,c) {
  abcf <- function(x) a*x^2+b*x+c #DEVO scrivere la f a parte, NON direttamente in optimise
  if(a+b+c>5) optimise(f,c(-100,100))$objective #DEVO aggiungere la specifica $objective
  else a+b+c
}

esame(1,1,1)

esame(2,2,2)

Which of the following commands was not used to create the previous graph?

(a) plot(x,y)

curve(1.5*x+2,add=T,lty=2) # lty=2 è la linea TRATTEGGIATA

lines(c(0,2),c(-2,2))

points(0,-2,pch=19) # pch=19 è il punto RIEMPITO

Which of the following commands was not used to create the previous graph?

(a) abline(-2,0.5)

curve(0.5*x-2,add=T,lty=2) #la retta è y=0.5x-2, quindi se x=0 y=-2, se x=1

Il testo formattato con i tag HTML è il seguente:
y=-1.5plot(x,y,xlab="Variation in prices")abline(-2,0.5,lty=2) #la retta è y=0.5x-2, quindi se x=0 y=-2, se x=1 y=-1.5#i comandi possono essere gli stessi ripetuti con metodi diversi, se corretti non sono saconsiderarsi not used.Which of the following commands was not used to create the previous graph?lines(c(1,3),c(0,1)) #è una linea che va da x=0 a x=3 e da y=0 a y=1points(1,0,pch=19)ab

Dettagli
Publisher
A.A. 2021-2022
22 pagine
1 download
SSD Scienze economiche e statistiche SECS-P/06 Economia applicata

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher dbthecreator di informazioni apprese con la frequenza delle lezioni di Strumenti computazionali per l'economia e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi Ca' Foscari di Venezia o del prof Basso Antonella.