答案1
我快速制作了一个 MWE。当然还有很多改进空间,例如,可以使用循环等来自动化很多事情,以及使用更多节点来更准确地放置文本。这只是一个快速模型。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[>=latex, ->] (-1,0) -- (10,0) node[right] {$x_1$};
\draw[>=latex, ->] (0,-1) -- (0,10) node[above] {$x_2$};
\draw[dashed] (3,-1) -- ++(120:7);
\draw[dashed] (4,-1) -- ++(120:9);
\draw[dashed] (5,-1) -- ++(120:11);
\draw[dashed] (6,-1) -- ++(120:13);
\draw[>=latex, ->] (-1,5) -- ++(30:4) node[right] {direction of increasing $E$};
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (0.6 and 0.3);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (0.8 and 0.5);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (1 and 0.7);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (1.2 and 0.9);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (1.4 and 1.1);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (1.6 and 1.3);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (2 and 1.7);
\draw[shift={(2,3)},rotate=120] (0,0) ellipse (2.5 and 2.2);
\draw[thick] (6,0) node[below] {$b$} -- (3,3.5) -- (2,3);
\begin{scope}[shift={(5,6)}]
\draw[dashed] (0,0) -- ++(2,0) node[right] {isomean lines};
\draw[thick] (0,-0.5) -- ++(2,0) node[right] {efficient portfolios};
\draw (0,-1) -- ++(-45:1) -| (0,-1);
\draw (2,-1.25) node[right] {attainable set};
\draw (0.5,-2.5) ellipse (0.5 and 0.25);
\draw (2,-2.5) node[right] {isovariance curves};
\end{scope}
\end{tikzpicture}
\end{document}