Dear all,
I hope you can help me. I've been trying and trying on my own to find a solution to this problem but I gave up.
Here is the problem: I have a local varlist in which are listed all the variables I need to regress one by one on a set of variables list in another local varlist. To do this, I set up a loop, in which I need to nest two subconditions, namely if the X (set of dependant) belongs to certain variables and if the v belongs to certain other variables (set of regressors), do something.
The code is the following
Code:
local indep "Business_Climat    Consumer_Confid    ECB_Deposit_Rat    ECB_Refinancing    Economic_Sentim    GDP_Flash_Estim    GDP_Flash_Preli    GDP_Revised_QQ    GDP_Revised_YY    HICPX_FEAT_Fin_    HICPX_FEAT_Fina    HICPX_FE_Flash_    HICP_Final_MM    HICP_Final_YY    HICP_Flash_YY    Ind_Prod_MM    Ind_Prod_YY    Industrial_Sent    Markit_Comp_Fin    Markit_Comp_Fla    Markit_Mfg_Fina    Markit_Mfg_Flas    Markit_Serv_Fin    Markit_Serv_Fla    MoneyM3_Annual_    PPI_MM    PPI_YY    Retail_Sales_YY    Sentix_Index    Services_Sentim    Unemployment_Ra"
local country "CNY KOR IND TUR ZAF RUS BRA MEX ARG CHL US CAN UK EU DEU FR ITA JPN AUS HKG"
local row=1

foreach X of local country   {
    foreach v of local indep {
        if inlist(`"`X'"',"CNY" "KOR" "IND" "HKG") {
        sort Date
        gen ret`X'_f= ret`X'[_n+1]
        replace ret`X'_f=ret`X'[_n+3] if dow==5
        if `v'==Consumer_Confid | `v'==ECB_Deposit_Rat | `v'==ECB_Refinancing {
        quietly regress ret`X'_f surpref`v'
        }
        }
        drop ret`X'_f
        }
        else if inlist(`"`X'"',"JPN" "AUS") {
        sort Date
        gen ret`X'_f= ret`X'[_n+1]
        replace ret`X'_f=ret`X'[_n+3] if dow==5
        quietly regress ret`X'_f surpref`v'
        drop ret`X'_f
        }
        else {
        sort Date
        quietly regress ret`X' surpref`v'
        }
        }
        }
The incriminated part is if `v'==Consumer_Confid | `v'==ECB_Deposit_Rat | `v'==ECB_Refinancin { bla bla}. It seems to make the code unable to read the macro since I got as error message Business_Climat not found. If I comment it, the code works properly. I've already tried to do regress ret`X'_f surpref`v' if `v'==Consumer_Confid | `v'==ECB_Deposit_Rat | `v'==ECB_Refinancing, to add the quotation marks, to list the variable one by one with own quotation marks in the definition of the local, to write if inlist(`"`v'"', "Consumer_Confid" "ECB_Deposit_Rat " "ECB_Refinancing"), to do levelsof() and I do not remember how many other attempts.
Your help will be really much appreciated.
Many thanks in advance

Federica