import numpy as np a = np.random.uniform(100,5000,1000) b = np.random.uniform(0.1,3.0,1000) (a.min(),a.max())
輸出python
預處理dom
(a - a.min())/(a.max()-a.min())
輸出函數
預處理3d
aa = (a - a.min())/(a.max()-a.min()) bb = (b - b.min())/(b.max()-b.min()) (aa.min(),aa.max())
輸出orm
畫圖blog
aaa = (a - a.mean())/a.std() import matplotlib.pyplot as plt %matplotlib plt.hist(aaa)
輸出get
# 導入函數庫 import jqdata import math import numpy as np import pandas as pd def initialize(context): set_benchmark('000002.XSHG') set_option('use_real_price', True) set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock') g.security = get_index_stocks('000002.XSHG') g.ma_days = 30 g.stock_num = 10 run_monthly(handle, 1) def handle(context): sr = pd.Series(index=g.security) for stack in sr.index: ma = attribute_history(stack,g.stock_days)['close'].mean p = get_current_data()[stack].day_open ratio = (ma-p)/ma sr[stock] = ratio tohold = sr.nlarges(g.stock_num).index.values for stock in context.portfolio/positions: if stock not in tohold: order_target_value(stock, 0) tobuy = [stock for stock in tohold if stock not in context.portfolio.positions] if len(tobuy)>0: cash = context.portfolio.available_cash cash_every_stock = cash / len(tobuy) for stock in tobuy: order_value(stock,cash_every_stock)