MLE(最大似然估计)

时间:2019-03-20 09:33:50

标签: python-3.x optimization scipy quantitative-finance mle

I want to solve this function.

我研究微观市场结构中的PIN理论。 我想估计5个参数(alpha,delta,mu,epsilon S,epsilon B)。 我不能再编码了。...请有人帮我。

import timeimport random
import sqlite3
from openpyxl import Workbook
import numpy as np
import scipy.optimize

def cal_likelihood(mean_selling, mean_buying, selling_array, buying_array):
    final_param = []
    for ini_a in [0.1, 0.3, 0.5, 0.7, 0.9]:
        for ini_h in [0.1, 0.3, 0.5, 0.7, 0.9]:
            for z in [0.1, 0.3, 0.5, 0.7, 0.9]:
                ini_eB = z * mean_buying

                cal_u = (mean_buying - ini_eB) / (ini_a * (1-ini_h))
                ini_eS = mean_selling - (ini_a * ini_h * cal_u)

                i = 0
                for i in range(0, len(buying_array)):
                    k1 = ((-1.0)*(cal_u) - buying_array[i] * scipy.log10(1 + (cal_u/ini_eB)))
                    k2 = ((-1.0)*(cal_u) - selling_array[i] * scipy.log10(1 + (cal_u/ini_eS)))
                    k3 = (-1) * buying_array[i] * scipy.log10(1 + (cal_u/ini_eB)) - selling_array[i] * scipy.log10(1 + (cal_u/ini_eS))
                    kmi = max(k1, k2, k3)

                    ini_L = ini_a * ini_h * scipy.exp(k1 - kmi) + ini_a * (1 - ini_h) * scipy.exp(k2 - kmi) + (1 - ini_a) * scipy.exp(k3 - kmi) + (buying_array[i] * scipy.log10(ini_eB + ini_h) + selling_array[i] * scipy.log10(ini_eS + ini_h) - (ini_eB + ini_eS) + kmi)

0 个答案:

没有答案
相关问题