{"id":3588,"date":"2026-03-11T08:58:43","date_gmt":"2026-03-11T00:58:43","guid":{"rendered":"http:\/\/xuebuwan.com\/wp\/archives\/3588"},"modified":"2026-03-23T17:20:54","modified_gmt":"2026-03-23T09:20:54","slug":"%e5%8f%8c%e5%9d%87%e7%ba%bf%e7%ad%96%e7%95%a5%ef%bc%9a%e6%9c%80%e7%ae%80%e5%8d%95%e7%9a%84%e8%87%aa%e5%8a%a8%e4%b9%b0%e5%8d%96%e7%ad%96%e7%95%a5","status":"publish","type":"post","link":"http:\/\/xuebuwan.com\/wp\/?p=3588","title":{"rendered":"\u53cc\u5747\u7ebf\u7b56\u7565\uff1a\u6700\u7b80\u5355\u7684\u81ea\u52a8\u4e70\u5356\u7b56\u7565"},"content":{"rendered":"<h2>\ud83d\udcca \u4ec0\u4e48\u662f\u53cc\u5747\u7ebf\u7b56\u7565\uff1f<\/h2>\n<p><strong>\u53cc\u5747\u7ebf\u7b56\u7565<\/strong>\u662f\u6700\u7ecf\u5178\u7684\u91cf\u5316\u7b56\u7565\u4e4b\u4e00\uff0c\u7528\u4e24\u6761\u5747\u7ebf\u7684<strong>\u4ea4\u53c9<\/strong>\u6765\u51b3\u5b9a\u4e70\u5356\u3002<\/p>\n<ul>\n<li>\ud83d\udcc8 <strong>\u91d1\u53c9<\/strong>\uff1a\u77ed\u671f\u5747\u7ebf\u4ece\u4e0b\u5f80\u4e0a\u7a7f\u8fc7\u957f\u671f\u5747\u7ebf \u2192 <strong>\u4e70\u5165<\/strong><\/li>\n<li>\ud83d\udcc9 <strong>\u6b7b\u53c9<\/strong>\uff1a\u77ed\u671f\u5747\u7ebf\u4ece\u4e0a\u5f80\u4e0b\u7a7f\u8fc7\u957f\u671f\u5747\u7ebf \u2192 <strong>\u5356\u51fa<\/strong><\/li>\n<\/ul>\n<h2>\ud83c\udfaf \u7b56\u7565\u903b\u8f91<\/h2>\n<pre><code># \u5047\u8bbe\u7528 5\u65e5\u5747\u7ebf \u548c 20\u65e5\u5747\u7ebf\nif MA5 &gt; MA20 and MA5_prev = MA20_prev:\n    \u5356\u51fa()      # \u6b7b\u53c9<\/code><\/pre>\n<h2>\ud83d\udc68\u200d\ud83d\udcbb \u5b8c\u6574\u4ee3\u7801<\/h2>\n<pre><code>import akshare as ak\nimport pandas as pd\n\n# 1. \u83b7\u53d6\u6570\u636e\ndf = ak.stock_zh_a_hist(symbol=&quot;600519&quot;, adjust=&quot;qfq&quot;)\ndf = df.tail(250)  # \u6700\u8fd1250\u5929\n\n# 2. \u8ba1\u7b97\u5747\u7ebf\ndf[&quot;MA5&quot;] = df[&quot;\u6536\u76d8&quot;].rolling(5).mean()\ndf[&quot;MA20&quot;] = df[&quot;\u6536\u76d8&quot;].rolling(20).mean()\n\n# 3. \u751f\u6210\u4ea4\u6613\u4fe1\u53f7\ndf[&quot;\u4fe1\u53f7&quot;] = &quot;\u6301\u6709&quot;\nfor i in range(1, len(df)):\n    ma5 = df[&quot;MA5&quot;].iloc[i]\n    ma20 = df[&quot;MA20&quot;].iloc[i]\n    ma5_prev = df[&quot;MA5&quot;].iloc[i-1]\n    ma20_prev = df[&quot;MA20&quot;].iloc[i-1]\n\n    if ma5 &gt; ma20 and ma5_prev = ma20_prev:\n        df.loc[df.index[i], &quot;\u4fe1\u53f7&quot;] = &quot;\u5356\u51fa&quot;\n\n# 4. \u663e\u793a\u4fe1\u53f7\nsignals = df[df[&quot;\u4fe1\u53f7&quot;].isin([&quot;\u4e70\u5165&quot;, &quot;\u5356\u51fa&quot;])]\nprint(signals[[&quot;\u65e5\u671f&quot;, &quot;\u6536\u76d8&quot;, &quot;MA5&quot;, &quot;MA20&quot;, &quot;\u4fe1\u53f7&quot;]])<\/code><\/pre>\n<h2>\ud83d\udcca \u8fd0\u884c\u7ed3\u679c\u793a\u4f8b<\/h2>\n<pre>\u65e5\u671f          \u6536\u76d8    MA5    MA20   \u4fe1\u53f7\n2024-03-15  1650.0  1640.0  1630.0  \u4e70\u5165\n2024-04-20  1700.0  1690.0  1700.0  \u5356\u51fa\n2024-05-10  1680.0  1670.0  1665.0  \u4e70\u5165\n...\n\n<h2>\ud83d\udcb0 \u6a21\u62df\u56de\u6d4b<\/h2>\n\n<pre><code># \u7b80\u5355\u7684\u6a21\u62df\u56de\u6d4b\ninitial_money = 100000  # \u521d\u59cb\u8d44\u91d110\u4e07\nmoney = initial_money\nshares = 0\nhold = False\n\nfor i in range(1, len(df)):\n    signal = df[&quot;\u4fe1\u53f7&quot;].iloc[i]\n    price = df[&quot;\u6536\u76d8&quot;].iloc[i]\n\n    if signal == &quot;\u4e70\u5165&quot; and not hold:\n        shares = money \/\/ price\n        money = money - shares * price\n        hold = True\n        print(f&quot;\u4e70\u5165 {shares} \u80a1\uff0c\u4ef7\u683c {price}&quot;)\n\n    elif signal == &quot;\u5356\u51fa&quot; and hold:\n        money = money + shares * price\n        print(f&quot;\u5356\u51fa {shares} \u80a1\uff0c\u4ef7\u683c {price}&quot;)\n        shares = 0\n        hold = False\n\n# \u6700\u7ec8\u8d44\u4ea7\nif hold:\n    final_value = money + shares * df[&quot;\u6536\u76d8&quot;].iloc[-1]\nelse:\n    final_value = money\n\nprofit = (final_value - initial_money) \/ initial_money * 100\nprint(f&quot;\\n\u6700\u7ec8\u8d44\u4ea7: {final_value:.2f}&quot;)\nprint(f&quot;\u6536\u76ca\u7387: {profit:.2f}%&quot;)<\/code><\/pre>\n\n<h2>\ud83d\udcc8 \u4f18\u5316\u65b9\u5411<\/h2>\n\n<\/pre>","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcca \u4ec0\u4e48\u662f\u53cc\u5747\u7ebf\u7b56\u7565\uff1f \u53cc\u5747\u7ebf\u7b56\u7565\u662f\u6700\u7ecf\u5178\u7684\u91cf\u5316\u7b56\u7565\u4e4b\u4e00\uff0c\u7528\u4e24\u6761\u5747\u7ebf\u7684\u4ea4\u53c9\u6765\u51b3\u5b9a\u4e70\u5356\u3002 \ud83d\udcc8 \u91d1\u53c9\uff1a\u77ed\u671f\u5747\u7ebf\u4ece\u4e0b &#8230; <a title=\"\u53cc\u5747\u7ebf\u7b56\u7565\uff1a\u6700\u7b80\u5355\u7684\u81ea\u52a8\u4e70\u5356\u7b56\u7565\" class=\"read-more\" href=\"http:\/\/xuebuwan.com\/wp\/?p=3588\" aria-label=\"\u9605\u8bfb \u53cc\u5747\u7ebf\u7b56\u7565\uff1a\u6700\u7b80\u5355\u7684\u81ea\u52a8\u4e70\u5356\u7b56\u7565\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3588","post","type-post","status-publish","format-standard","hentry","category-strategies"],"_links":{"self":[{"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3588"}],"version-history":[{"count":1,"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3588\/revisions"}],"predecessor-version":[{"id":3596,"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3588\/revisions\/3596"}],"wp:attachment":[{"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3588"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xuebuwan.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}