
Merkel in China NEW DELHI – German Chancellor Angela Merkel’s second visit to China in a year comes against the backdrop of dire forecasts of a difficult September for the eurozone . Mindful of such concerns and persistent pessimism in global financial markets , Merkel is now taking bold political initiatives at home and overseas . Indeed , her China trip should be seen as an effort to assert leadership across the eurozone . At home , Merkel recently sent out a clear message to her critics that Germany must pay a price for eurozone leadership . She cautioned her colleagues against loose talk about a “ Grexit ” – Greece’s exit from the eurozone – and assured visiting Greek Prime Minister Antonis Samaras that Germany remained committed to his country’s membership of the eurozone . While it required courage to take such a tough stance , doing so helped to bolster her position at home and throughout the eurozone . There is now no doubt that Merkel is willing to commit Germany to the cause of preserving both the European Union and the eurozone , and that she will work to achieve that goal . If she succeeds , she will emerge as the first great European leader of the twenty-first century . This stance suggests that Merkel appreciates the essence of the argument that François Heisbourg , the chairman of the council of the International Institute for Strategic Studies ( IISS ) , advanced in a [ 179]recent essay : a federal arrangement does not fall apart because of problems at the periphery but because of “ failure at the heart of the system . ” Merkel has come to terms with Germany’s position – and that it must act to preserve the unity of the whole . The eurozone ( and probably the EU ) cannot be saved in Greece or Finland if it cannot be saved in Germany . Committing Germany to that objective is precisely what Merkel has defined as her political goal for the rest of her term in office . Within hours of declaring her leadership at home , Merkel announced her visit to Beijing . The timing was highly significant : Merkel goes to China , the emerging global power , after declaring her own commitment to strengthening the eurozone , if not the EU as a whole , as a credible pole of an emerging multipolar world . In recognition of Germany’s growing significance , Chinese Prime Minister Wen Jiabao welcomed a delegation of German business leaders to Beijing this May with the words : “ Stronger Chinese-German cooperation is good for the two countries , good for China-EU relations , and good for world prosperity and stability . The strategic dimension of Chinese-German relations , therefore , can only be strengthened , not weakened . ” There are several dimensions to the bilateral relationship . Germany needs both China’s markets and the funds that its government can deploy to purchase German and European bonds . It also has more than 7,500 enterprises operating in China , with gross investment totaling $18.5 billion . Moreover , Germany has sold $15 billion worth of technology to China , and bilateral trade hit a high of $169 billion in 2011 , accounting for 30 % of total China-EU trade . The two countries have set a bilateral trade target of $280 billion for 2015. Trade , however , is not the only immediate concern . Far more important , especially for Germany , is to get China to invest in and hold its bonds . In mid-August , at the First IISS Oberoi Lecture in Mumbai , Klaus Regling , the CEO of the European Financial Stability Facility , underscored the importance of Chinese demand for EFSF bonds and China’s role in stabilizing the eurozone . Regling also revealed that there is now increased and frequent coordination between monetary authorities in the United States , Germany , and China , drawing attention to the fact that the “ old Triad ” of the dollar , euro , and yen may now have been replaced by a “ new Triad ” of the dollar , euro , and Chinese renminbi . While Regling spoke of an emerging “ multipolar monetary system , ” his remarks clearly indicated the functioning of a “ tripolar ” system . Lying at two ends of that monetary triangle , the eurozone and China have acquired a geopolitical stake in helping each other . [ 180]Hans Kundnani and Jonas Parello-Plesner of the European Council on Foreign Relations view the China-Germany relationship as one that will shape the overall China-EU relationship . Like many strategic analysts , they worry whether Germany , in pursuit of purely short-term economic interests , might forsake long-term strategic interests and concerns about human rights , environmental problems , press freedoms , and other political and geopolitical issues . It is significant , therefore , that German political parties have emphasized the need for Merkel to raise such matters in her talks with Chinese leaders . However , Merkel’s focus may well remain on trade , investment , and currency flows . After all , unless she can turn around the eurozone , her rising profile at home and in Europe could easily wither . What this means is that to secure German leadership of Europe , and her own leadership of Germany , Merkel has to “ walk on two legs , ” so to speak . She needs to balance both geo-economic and geopolitical factors – both interests and values – in advancing Germany’s relations with China . 