diary on ; % 使用当前 diary 日志文件名启用记录。
disp(['*********开始时间:',datestr(now,'yyyy-mm-dd HH:MM:SS'),'**********************************']);
*********开始时间:2025-07-08 15:04:53**********************************

%% ------1.降低外商投资运营壁垒--------- %%
clear
clc
load Data ;

% 反事实的初始参数设置
N          = 32;
vbarrier   = 0.9;   % gamma_hat 外商壁垒降低幅度, 1(不调整) ,0.9(降低10%）
barrier    = -1 ;   % 3(不调整) or 0(中国对其他国家) or 1(其他国家对中国) or -1(双边) or 2(多边)
preference = 0 ;    % 0   or 0.9 :beta_hat is 1(不调整) or 0.9(降低偏向性)
SOEratio   = 0 ;    % 
alpha_hat  = 1  ;   % 1   or 1.1 :alpha_hat is 1(不调整) or 1.1(提高商业考虑)  
par        = fun_parament(N,barrier,vbarrier,preference,alpha_hat,SOEratio);

% 反事实求解(请按说明文件要求运行）
x0         = ones(N,1);
[w_hat,M_hat,K_hat] = fun_Iteration(x0,data,par,N);
m.w_hat    = w_hat;
m.K_hat    = K_hat;
m.M_hat    = M_hat;

[Result,X_iln,spsi_lambda] = get_result(m,data,par,N);
CPTPP                      = fun_CPTPP(Result);
Result_barrier_symmetric   = Result;
CPTPP_barrier_symmetric    = fun_CPTPP(Result_barrier_symmetric);

writematrix(Result_barrier_symmetric,'Barrier.xls','Sheet',3 ,'Range','A1:H32');
[警告: 已添加指定的工作表。] 
writematrix(CPTPP_barrier_symmetric ,'Barrier.xls','Sheet',3 ,'Range','I1:P32');
writematrix(spsi_lambda,'Result_barrier_decompose.xls','Sheet',1);
%% ------2.提高国有企业商业考虑--------- %%
clear
clc
load Data ; 

% 反事实的初始参数设置
N          = 32;
vbarrier   = 1;    % gamma_hat 外商壁垒降低幅度, 1(不调整) ,0.9(降低10%）
barrier    = 3;    % 3(不调整) or 0(中国对其他国家) or 1(其他国家对中国) or -1(双边) or 2(多边)
preference = 0 ;   % 0   or 0.9 :beta_hat is 1(不调整) or 0.9(降低偏向性10%)
SOEratio   = 0 ;   % 
alpha_hat  = 1.1 ; % 1   or 1.1 :alpha_hat is 1(不调整) or 1.1(提高商业考虑10%)  
par        = fun_parament(N,barrier,vbarrier,preference,alpha_hat,SOEratio);

% 反事实求解(请按说明文件要求运行）
x0         = ones(N,1);
[w_hat,M_hat,K_hat] = fun_Iteration(x0,data,par,N);
m.w_hat    = w_hat;
m.K_hat    = K_hat;
m.M_hat    = M_hat;
[Result,X_iln,spsi_lambda] = get_result(m,data,par,N);
Result_distortSOE          = Result;
CPTPP_distortSOE           = fun_CPTPP(Result_distortSOE);

writematrix(Result_distortSOE,'SOE.xls','Sheet',1 ,'Range','A1:H32');
writematrix(CPTPP_distortSOE ,'SOE.xls','Sheet',1 ,'Range','I1:P32');
writematrix(spsi_lambda,'Result_distortSOE_decompose.xls','Sheet',1);

%% ------3.消除对国有企业的偏向性政策--------- %%
clear
clc
load Data ; 

% 反事实的初始参数设置
N          = 32;
vbarrier   = 1;    % gamma_hat 外商壁垒降低幅度, 1(不调整) ,0.9(降低10%）
barrier    = 3;    % 3(不调整) or 0(中国对其他国家) or 1(其他国家对中国) or -1(双边) or 2(多边)
preference = 0.9 ; % 0   or 0.9 :beta_hat is 1(不调整) or 0.9(降低偏向性10%)
SOEratio   = 0 ;   % 
alpha_hat  = 1 ;   % 1   or 1.1 :alpha_hat is 1(不调整) or 1.1(提高商业考虑10%)  
par        = fun_parament(N,barrier,vbarrier,preference,alpha_hat,SOEratio);

% 反事实求解(请按说明文件要求运行）
x0         = ones(N,1);
[w_hat,M_hat,K_hat] = fun_Iteration(x0,data,par,N);
m.w_hat    = w_hat;
m.K_hat    = K_hat;
m.M_hat    = M_hat;
[Result,X_iln,spsi_lambda] = get_result(m,data,par,N);
Result_PolicyPrefer        = Result;
CPTPP_PolicyPrefer         = fun_CPTPP(Result_PolicyPrefer);

writematrix(Result_PolicyPrefer,'PolicyPrefer.xls','Sheet',1 ,'Range','A1:H32');
writematrix(CPTPP_PolicyPrefer ,'PolicyPrefer.xls','Sheet',1 ,'Range','I1:P32');
writematrix(spsi_lambda,'Result_PolicyPrefer_decompose.xls','Sheet',1);

%% ------4.全面对标--------- %%
clear
clc
load Data ; 

% 反事实的初始参数设置
N          = 32;
vbarrier   = 0.9;  % gamma_hat 外商壁垒降低幅度, 1(不调整) ,0.9(降低10%）
barrier    = -1 ;  % 3(不调整) or 0(中国对其他国家) or 1(其他国家对中国) or -1(双边) or 2(多边)
preference = 0.9 ; % 0   or 0.9 :beta_hat is 1(不调整) or 0.9(降低偏向性10%)
SOEratio   = 0 ;   %
alpha_hat  = 1.1 ; % 1   or 1.1 :alpha_hat is 1(不调整) or 1.1(提高商业考虑10%)
par        = fun_parament(N,barrier,vbarrier,preference,alpha_hat,SOEratio);

% 反事实求解(请按说明文件要求运行）
x0         = ones(N,1);
[w_hat,M_hat,K_hat] = fun_Iteration(x0,data,par,N);
m.w_hat    = w_hat;
m.K_hat    = K_hat;
m.M_hat    = M_hat;
[Result,X_iln,spsi_lambda] = get_result(m,data,par,N);
Result_benchmarking        = Result;
CPTPP_benchmarking         = fun_CPTPP(Result_benchmarking);

writematrix(Result_benchmarking,'Benchmarking.xls','Sheet',1 ,'Range','A1:H32');
writematrix(CPTPP_benchmarking ,'Benchmarking.xls','Sheet',1 ,'Range','I1:P32');
writematrix(spsi_lambda,'Result_Benchmarking_decompose.xls','Sheet',1);

[mp_in,fdi_in,des_in,mp_out,fdi_out,des_out] = CPTPP_TradeStructure((data.x_iln+data.x_SOE_iln)./1e+07);
[MP_IN,FDI_IN,DES_IN,MP_OUT,FDI_OUT,DES_OUT] = CPTPP_TradeStructure(X_iln);
TradeStructure_IN  =  [MP_IN./mp_in , FDI_IN./fdi_in , DES_IN./des_in];
TradeStructure_OUT =  [MP_OUT./mp_out ,FDI_OUT./fdi_out ,DES_OUT./des_out];
TradeStructure     =  [TradeStructure_IN;TradeStructure_OUT];

TradeStructure_IN_data  = [mp_in ,fdi_in ,des_in];
TradeStructure_OUT_data = [mp_out,fdi_out,des_out];
writematrix([TradeStructure_IN_data;TradeStructure_OUT_data],...
            'TradeStructureData.xls','Sheet',1 ,'Range','A1:H32');
writematrix(TradeStructure,'TradeStructureBenchmarking.xls','Sheet',1 ,'Range','A1:H32');

%% 
disp(['*********结束时间:',datestr(now,'yyyy-mm-dd HH:MM:SS'),'**********************************']);
*********结束时间:2025-07-08 15:10:10**********************************
diary off; %结束运行
