<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Fortune Insight</provider_name><provider_url>https://prime.fortuneinsight.com/web</provider_url><author_name>&#x9322;&#x741B;</author_name><author_url>https://prime.fortuneinsight.com/web/posts/author/chinshun</author_url><title>&#x300A;Source Code&#x516C;&#x958B;&#x300B;&#x65B0;&#x66F8;Source Code&#x6DF1;&#x5316;&#x8A0E;&#x8AD6;&#xFF08;&#x4E00;&#xFF09; - Fortune Insight</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content"&gt;&lt;a href="https://prime.fortuneinsight.com/web/posts/503728"&gt;&#x300A;Source Code&#x516C;&#x958B;&#x300B;&#x65B0;&#x66F8;Source Code&#x6DF1;&#x5316;&#x8A0E;&#x8AD6;&#xFF08;&#x4E00;&#xFF09;&lt;/a&gt;&lt;/blockquote&gt;
&lt;script type='text/javascript'&gt;
&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
		!function(c,d){"use strict";var e=!1,n=!1;if(d.querySelector)if(c.addEventListener)e=!0;if(c.wp=c.wp||{},!c.wp.receiveEmbedMessage)if(c.wp.receiveEmbedMessage=function(e){var t=e.data;if(t)if(t.secret||t.message||t.value)if(!/[^a-zA-Z0-9]/.test(t.secret)){for(var r,a,i,s=d.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),n=d.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),o=0;o&lt;n.length;o++)n[o].style.display="none";for(o=0;o&lt;s.length;o++)if(r=s[o],e.source===r.contentWindow){if(r.removeAttribute("style"),"height"===t.message){if(1e3&lt;(i=parseInt(t.value,10)))i=1e3;else if(~~i&lt;200)i=200;r.height=i}if("link"===t.message)if(a=d.createElement("a"),i=d.createElement("a"),a.href=r.getAttribute("src"),i.href=t.value,i.host===a.host)if(d.activeElement===r)c.top.location.href=t.value}}},e)c.addEventListener("message",c.wp.receiveEmbedMessage,!1),d.addEventListener("DOMContentLoaded",t,!1),c.addEventListener("load",t,!1);function t(){if(!n){n=!0;for(var e,t,r=-1!==navigator.appVersion.indexOf("MSIE 10"),a=!!navigator.userAgent.match(/Trident.*rv:11\./),i=d.querySelectorAll("iframe.wp-embedded-content"),s=0;s&lt;i.length;s++){if(!(e=i[s]).getAttribute("data-secret"))t=Math.random().toString(36).substr(2,10),e.src+="#?secret="+t,e.setAttribute("data-secret",t);if(r||a)(t=e.cloneNode(!0)).removeAttribute("security"),e.parentNode.replaceChild(t,e)}}}}(window,document);
//--&gt;&lt;!]]&gt;
&lt;/script&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://prime.fortuneinsight.com/web/posts/503728/embed" width="600" height="338" title="&#x201C;&#x300A;Source Code&#x516C;&#x958B;&#x300B;&#x65B0;&#x66F8;Source Code&#x6DF1;&#x5316;&#x8A0E;&#x8AD6;&#xFF08;&#x4E00;&#xFF09;&#x201D; &#x2014; Fortune Insight" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;</html><thumbnail_url>https://prime.fortuneinsight.com/web/wp-content/uploads/2021/02/python_logo.jpg</thumbnail_url><thumbnail_width>241</thumbnail_width><thumbnail_height>210</thumbnail_height><description>&#x5F88;&#x591A;&#x670B;&#x53CB;&#x90FD;&#x5E0C;&#x671B;&#x6211;&#x5C07;&#x65B0;&#x66F8;&#x300A;&#x4EE5;Python&#x53D6;&#x52DD;&#x2014;&#x2014;&#x8A08;&#x91CF;&#x4EA4;&#x6613;&#x5FEB;&#x901F;&#x4E0A;&#x624B;&#x300B;&#x7684;source code&#x5206;&#x4EAB;&#xFF0C;&#x65B9;&#x4FBF;&#x8B80;&#x8005;&#x8DDF;&#x8457;&#x66F8;&#x4E2D;&#x7684;code&#x7DF4;&#x7FD2;&#x3002; &#x7232;&#x4E86;&#x611F;&#x8B1D;&#x4E00;&#x76F4;&#x652F;&#x6301;&#x6211;Fortune Insight Prime&#x5C08;&#x6B04;&#x7684;&#x670B;&#x53CB;&#xFF0C;&#x6211;&#x6703;&#x5148;&#x5728;FI Prime&#x5E73;&#x53F0;&#x5206;&#x5169;&#x6B21;&#x5206;&#x4EAB;&#x66F8;&#x4E2D;&#x6700;&#x9577;&#x7684;&#x56DB;&#x6BB5;source code&#xFF0C;&#x9019;&#x6B21;&#x6703;&#x662F;ETF&#xFF08;4.3&#x7AE0;&#xFF09;&#x53CA;&#x671F;&#x8CA8;&#x7B56;&#x7565;&#x56DE;&#x6E2C;&#xFF08;5.2&#x7AE0;&#xFF09;&#x7684;source code&#xFF0C;&#x4E0B;&#x6B21;&#x5247;&#x6703;&#x662F;6.3&#x548C;7.2&#x7AE0;&#x7684;&#x8A08;&#x91CF;&#x5206;&#x6790;/&#x56DE;&#x6E2C;source code&#x516C;&#x958B;&#x3002; &#x5728;FI Prime&#x516C;&#x958B;source code&#x5F8C;&#x7684;&#x5169;&#x661F;&#x671F;&#xFF0C;&#x66AB;&#x5B9A;&#x6703;&#x5C07;source code&#x65BC;MeWe page&#x514D;&#x8CBB;&#x516C;&#x958B;&#xFF0C;&#x8A73;&#x60C5;&#x53EF;&#x518D;&#x7559;&#x610F;&#x516C;&#x4F48;&#x3002; &#x5728;&#x66F8;&#x4E2D;&#x6709;&#x7565;&#x7565;&#x63D0;&#x904E;&#xFF0C;source code&#x4E26;&#x975E;&#x6700;programmatically efficient&#xFF0C;&#x56E0;&#x7232;&#x5982;&#x8981;&#x518D;efficient&#x4E00;&#x9EDE;&#xFF0C;&#x5C31;&#x6703;&#x6D89;&#x53CA;&#x66F4;&#x591A;&#x7DE8;&#x7A0B;&#x6982;&#x5FF5;&#xFF0C;&#x5728;&#x4E00;&#x672C;&#x66F8;&#x4E2D;&#x96E3;&#x4EE5;&#x5B8C;&#x5168;&#x5C07;&#x6240;&#x6709;&#x6982;&#x5FF5;&#x4E00;&#x4E00;&#x89E3;&#x91CB;&#xFF0C;&#x4E5F;&#x6015;&#x8B80;&#x8005;&#x4E0D;&#x80FD;&#x6D88;&#x5316;&#x3002;&#x4EE5;&#x4E0B;&#x6703;&#x8A0E;&#x8AD6;&#x4E00;&#x4E9B;&#x66F8;&#x4E2D;&#x672A;&#x6709;&#x63D0;&#x53CA;&#x7684;&#x6982;&#x5FF5;&#x3002; &#x7232;&#x4F55;&#x8981;&#x505A;&#x5230;programmatically efficient&#xFF1F;&#x56E0;&#x7232;&#x53EF;&#x4EE5;&#x4EE4;run speed&#x589E;&#x52A0;&#x4E4B;&#x9918;&#xFF0C;&#x4E5F;&#x80FD;&#x4EE4;code&#x66F4;&#x6613;maintain/&#x4FEE;&#x6539;&#x3002;&#x9019;&#x5C0D;&#x7DE8;&#x5BEB;&#x5927;&#x898F;&#x6A21;backtest&#xFF0C;&#x6216;&#x589E;&#x52A0;backtesting&#x901F;&#x5EA6;&#xFF0C;&#x90FD;&#x5F88;&#x6709;&#x5E6B;&#x52A9;&#x3002; &#x53EF;&#x4EE5;&#x4EE4;source code&#x66F4;programmatically efficient&#x7684;&#x5DE5;&#x5E8F;&#x6709;&#x5F88;&#x591A;&#xFF0C;&#x4ECA;&#x6B21;&#x5148;broad&#x4E00;&#x9EDE;&#x4ECB;&#x7D39;&#x4E00;&#x4E0B;&#x67D0;&#x4E9B;&#x8981;&#x9EDE;&#x3002;&#x8981;&#x4EE4;source code&#x8B8A;&#x5F97;efficient&#xFF0C;&#x7B2C;&#x4E00;&#x6B65;&#x662F;&#x8981;&#x63D0;&#x9AD8;&#x7DE8;&#x7A0B;&#x7684;&#x6613;&#x8B80;&#x6027;&#xFF08;readability&#xFF09;&#xFF0C;&#x8B93;&#x5176;&#x4ED6;&#x4EBA;/&#x5E7E;&#x500B;&#x6708;&#x5F8C;&#x7684;&#x81EA;&#x5DF1;&#x91CD;&#x65B0;&#x95B1;&#x8B80;code&#x6642;&#xFF0C;&#x53EF;&#x4EE5;&#x5FEB;&#x901F;&#x7406;&#x89E3;&#x5167;&#x5BB9;&#x3002;&#x505A;&#x5230;&#x9019;&#x9EDE;&#x5F8C;&#xFF0C;&#x901A;&#x5E38;code efficiency&#x4E5F;&#x53EF;&#x63D0;&#x5347;&#x3002; &#x505A;&#x6CD5;&#x6709;&#x5F88;&#x591A;&#xFF0C;&#x4F8B;&#x5982;variable naming&#x3001;&#x7DE8;&#x7A0B;&#x6BB5;&#x843D;&#xFF08;block&#xFF09;&#x7684;&#x9593;&#x9694;&#x3001;typing&#x7B49;&#x6700;&#x5BB9;&#x6613;&#x7684;&#x64CD;&#x4F5C;&#x3002;&#x4E0B;&#x7BC7;&#x6DF1;&#x5316;&#x8A0E;&#x8AD6;&#x6703;&#x518D;dig in&#x3002; &#x7B2C;&#x4E8C;&#x5247;&#x662F;&#x4F7F;&#x7528;&#x6700;&#x6709;&#x6548;&#x7387;&#x7684;&#x7DE8;&#x7A0B;&#x7D50;&#x69CB;&#xFF0C;&#x5373;&#x5982;&#x4F55;&#x92EA;&#x6392;source code&#x3002;&#x53EF;&#x4EE5;&#x8003;&#x616E;&#x7684;&#xFF0C;&#x662F;&#x4F7F;&#x7528;functional programming&#x7684;&#x65B9;&#x6CD5;&#xFF08;&#x66F8;&#x4E2D;source code&#x7684;&#x7A0B;&#x5F0F;&#x5BEB;&#x6CD5;&#xFF09;&#xFF0C;&#x9084;&#x662F;&#x4F7F;&#x7528;OOP&#xFF08;object orientated programming&#xFF09;&#x7684;&#x5BEB;&#x6CD5;&#x3002;&#x5F8C;&#x8005;&#x6BD4;&#x524D;&#x8005;&#x66F4;&#x8907;&#x96DC;&#xFF0C;&#x6240;&#x4EE5;&#x66F8;&#x4E2D;&#x6C92;&#x6709;&#x600E;&#x6A23;&#x63D0;&#x904E;&#x3002; &#x7B2C;&#x4E09;&#x662F;file management&#xFF0C;&#x5373;&#x5982;&#x4F55;&#x5206;&#x4F48;&#x4E0D;&#x540C;&#x7684;data/program/directories&#x3002;&#x9019;&#x5C0D;&#x6574;&#x500B;&#x56DE;&#x6E2C;&#x90FD;&#x5F88;&#x91CD;&#x8981;&#xFF0C;&#x505A;&#x5F97;&#x4E0D;&#x597D;&#x7684;&#x8A71;&#x4F60;&#x5F88;&#x96E3;maintain&#x5927;&#x578B;&#x56DE;&#x6E2C;&#x3002;&#x5BE6;&#x969B;&#x64CD;&#x4F5C;&#xFF0C;&#x662F;&#x4F60;&#x5982;&#x4F55;&#x5206;directories/folders&#xFF0C;&#x53BB;save&#x4E0D;&#x540C;&#x7684;data/program files&#xFF0C;&#x800C;&#x540C;&#x6642;&#x4E5F;&#x8981;&#x6CE8;&#x610F;naming&#x7684;&#x6613;&#x8B80;&#x6027;&#xFF0C;&#x4EE4;&#x6574;&#x500B;project&#x66F4;&#x6613;maintain&#x3002; &#x4EE5;&#x4E0A;&#x90FD;&#x662F;&#x4E00;&#x4E9B;&#x8F03;&#x6982;&#x5FF5;&#x6027;&#x7684;&#x8A0E;&#x8AD6;&#xFF0C;&#x4E0B;&#x6B21;&#x5206;&#x4EAB;&#x53E6;&#x4E00;&#x4E9B;source code&#x6642;&#xFF0C;&#x6703;&#x518D;dig in&#x4E26;&#x9644;&#x52A0;&#x4F8B;&#x5B50;&#x3002; 4.3&#x7AE0;source code&#xFF1A; Book Code Text Form Etf Backtest 5.2&#x7AE0;source code&#xFF1A; Book Code Text Form Futures [&hellip;]</description></oembed>
