Top > trade_rule 売買ルール
特殊な変数
例「simple.py」単純な売買ルール。前の日より安くなったら買い、買った値段より高くなったら売る方式 #!/usr/bin/python # coding: UTF-8 #ライブラリのインポート from string import * import os import sys import datetime import time import locale import re import numpy as np sys.path.append('../lib/') import data_process as dp #買いルーチン def buy(stock,trade,dt): data_num = 3 r = dp.get_data_by_day_num(stock,dt,data_num) #過去data_num個の株価をとってくる。 trade.price = r.close[-1] #最後の株価=最新の株価 last_price = int(r.close[-2]) #最後から2番目の株価 last_last_price = int(r.close[-3]) #最後から3番目の株価 buy_rate = float(trade.vals[0]) #比率、値は設定ファイルで設定 if(int(last_price) < int(last_last_price * buy_rate)): #ある比率より安くなっていたら買う price = int(last_price) * buy_rate #買値の設定 if(int(r.open[-1]) < price): #今の値の方が安かったら、その値段に設定 price = int(r.open[-1]) buy_type = 0 #指値で買う return price,buy_type return 0,0 #ある比率より安くなかったら買わない #売りルーチン def sell(stock,trade,dt): data_num = 3 sell_type = 0 r = dp.get_data_by_day_num(stock,dt,data_num) #過去data_num個の株価をとってくる。 trade.price = r.close[-1] #最後の株価=最新の株価 sell_rate = float(trade.vals[1]) #比率、値は設定ファイルで設定 now_rate = float(r.open[-1]) / float(trade.buy_price) #損切り用の比率 wish_sell_price = int(trade.buy_price)*sell_rate #希望価格の設定。買った値段のsell_rate倍 if(int(r.open[-1]) > wish_sell_price): #希望価格より高かったら sell_type = 0 #指値で売る wish_sell_price = int(r.open[-1]) #希望価格は最新価格 elif(now_rate < float(trade.vals[2])): #ある比率より安くなっていたら損切り sell_type = 1 #成り売り wish_sell_price = int(r.open[-1]) #成りなので意味がないが一応 return wish_sell_price,sell_type #値を返す |