Side Project中希望能够通过列表选项调整显示的2D map animation,发现JS不去响应OnChange事件,最早以为是单纯改动src不可行,需要ajax方式做请求,检查后发现调用函数时没有给参数括号,不过为啥chrome不报错,奇怪。具体代码:
function change_gif(selectObj) {
var img_obj = document.getElementById("mapimg");
var slc_obj = document.getElementById("select01");
var opt_value = selectObj.value;
switch (opt_value){
case "precip":
img_obj.innerHTML='<img src="https://raw.githubusercontent.com/Novarizark/wrf-sdpwfe/master/fig/precip.gif?'+ (new Date().getTime())+'"/>';
break;
case "snow_cover":
img_obj.innerHTML='<img src="https://raw.githubusercontent.com/Novarizark/wrf-sdpwfe/master/fig/snow-cover.gif?'+ (new Date().getTime())+'"/>';
break;
}
}
<select style="margin-bottom: 15px" id="select01" onchange="change_gif(this)">
<option value="precip">Precipitation</option>
<option value="snow_cover">Snow Cover</option>
</select>
<div id="mapimg"><img src="https://raw.githubusercontent.com/Novarizark/wrf-sdpwfe/master/fig/precip.gif" /></div>
Updated 2018-01-25
去年5月就试着用python现成包爬取Yahoo Finance的数据,但是发现坑爹的是在我打算搞这个事情前两天,雅虎改了API爬不到。这次想起来查了下发现已经有相应的fix包了,当然只是临时的。不过无所谓,数据先拉到,后面业务化运行时能用多久用多久咯。
先装包:
pip install pandas_datareader
pip install yahoo-finance
pip install fix-yahoo-finance
然后就可以快乐地爬数据了。Stock ETF代码可以在Nasdaq官网拿到,这玩意儿一共26个英文字母,我居然手动下完了所有才发现有集中到一起的表格可以下载,shit! 对代码先做了个A-Z排序,加上个随机延时,然后就可以开搞啦。源码如下:
def mainfunc():
yf.pdr_override() # fix yahoo finance api
for item in eq_market:
pd_symbol=pd.read_csv(eq_path+item+'.csv', index_col='Symbol')
pos=0
for symb in pd_symbol.index:
pos=pos+1
print('Now download %s@%s (%d/%d)' % (symb, item, pos, len(pd_symbol.index)))
try:
df = pdr.get_data_yahoo(symb, start=ini_time, end=end_time)
except:
print('i\nError while downloading %s@%s' % (symb, item))
with open(eq_path+item+'/'+symb+'.csv', 'w') as f:
df.to_csv(f)
sptime=random.randint(0,50)/10
print('\nsleep %4.2fs' % sptime)
time.sleep(sptime)
Updated 2018-02-04
(文末有福利)
追涨杀跌还是买跌卖涨?无论是投资者还是投机客,这可能是个永恒的问题。 之前刷华尔街见闻的时候发现一个简单的右侧交易策略
当目前的价格 > 过去12个月的平均价格,那么保持投资(如果没有投资,那么就买入); 当目前的价格 < 过去12个月的平均价格,那么就全部卖出,持有现金(或债券)。
很有意思,回测也很不错。感觉原则就是,趋势来了我贪心,趋势走了我就离场,而且坚决不回来。不过对于我这种左侧交易者来说,在上升时期宁可hold也不愿意加仓。这个策略很简单,应可以作为一个出发点,后面按自己的理解来进行一些修正。尤其对于我这种喜欢左侧交易和网格策略的~
Updated 2018-01-23
正巧需要构建自己的Mercurius交易系统,不妨先实现几个策略做回测试试,标的的话,就选黄金好了,当然一般来说,黄金并不是什么好的投资标的。不过俺们就是这么俗,土豪金谁人不爱~
一共写了三套策略:
回测采用日均值,还没来得及写年化收益,最大回撤、夏普ratio等统计指标,先简单看图吧。首先我们以满仓10000美元的buy and hold策略,来看黄金自2000年以来的表现情况:
很明显,黄金从00年开始,随着全球的货币大宽松走出了一个长期牛市,主升浪在2008金融危机之后。到2011年上半年,净值翻了六倍多,随后由于美国逐渐退出QE,走熊直到2016年初(怎知16-now这波不是反弹?嘿嘿)。
作为对策略的压力测试,当然先看熊市表现啦。
结果还是很有趣的,从投资(机)总效果来看,up in and down out相比于佛系的buyNhold最终表现仅仅略微好一点点,大概也就少损失个一两百刀。过程中我们可以看到金价多次出现假突破,从而使得策略不断进出,在不计交易费用的情况下相比佛系投资还有一点优势,如果存在交易成本,那怕是必然亏更多的。 当然改进的方法也很简单,比如每隔一个period进行一次检测,这样能够避免频繁假突破时的频繁交易。
值得注意的是,这一贪心策略可以确保在市场急剧下跌期间保持极高的(100%)持现比例,你不爱我绝不回头~一手现金dry powder。充沛的流动性在手给了标的走熊期间去发掘其他资产的机会。
如果我们cover牛市,从2008年到现在呢?看这十年间会发生什么。
Oops!居然无法跑赢佛系buy and hold。这还算在木有交易费用的情况下。矬了吧~主要问题在于前期高频箱体振荡期间出现频繁买卖,而买点恰巧错过一批疾速上涨期,随后基本一直落后buy and hold。
我们再看所谓的网格提款机的效果。我喜欢的左侧交易策略表现又如何呢?
嘿嘿!大网格熊市各种睥睨佛系一把梭,我们看到几个酷炫的买点基本都出现在市场底部,然后前期两次出网很酷炫得锁定了收益,随后剧烈走熊阶段不断加仓压低成本,可惜13年中即已满仓,一直到16的市场底部只能不断观望。但是最终到18年初,我们可以看到网格策略仅仅承担了不到10%的账面亏损,而佛系一把梭却有接近20%的账面亏损。
那么牛市呢?
哎哟不错诶。虽然赶不上一把梭的痴长,但是基本保持了数量级相当的收益。不过值得注意的是,在牛市启动阶段,网格卖出所有的quota之后即因成本持续低于市值而按兵不动,所以后续基本相当于大半仓位下buy and hold。注意到09年的turmoil阶段网格抓到了几次低位买点,那么我们将时间尺度继续拉长,是否还能获得如此不错的表现呢?
显然,从00年到现在,网格策略远远落后于buy and hold,主要原因也很简单,人家满仓,我们却基本半仓走了快二十年,最终大概只能获得佛系一把梭一半多点的收益。
简单总结一下:
总而言之,眼光决定一切。基本面得抓得准呀。不说了,默默啃书。
Left or right, This is a problem.
要Code?没问题!瞎捣鼓的交易系统都是完全开源的啦!几个简单的策略在strategy目录下。欢迎star/fork/diss
Updated 2018-01-30