您的位置:

python股票交易策略分析(python 分析股票)

本文目录一览:

python怎么分析所有股票

在 Python的QSTK中,是通过 s_datapath 变量,定义相应股票数据所在的文件夹。一般可以通过 QSDATA 这个环境变量来设置对应的数据文件夹。

具体的股票数据来源,例如沪深、港股等市场,你可以使用免费的WDZ程序输出相应日线、5分钟数据到 s_datapath 变量所指定的文件夹中。然后可使用 Python的QSTK中,qstkutil.DataAccess进行数据访问。

怎么学习python量化交易?

下面教你八步写个量化交易策略——单股票均线策略

1 确定策略内容与框架

若昨日收盘价高出过去20日平均价今天开盘买入股票

若昨日收盘价低于过去20日平均价今天开盘卖出股票

只操作一只股票,很简单对吧,但怎么用代码说给计算机听呢?

想想人是怎么操作的,应该包括这样两个部分

既然是单股票策略,事先决定好交易哪一个股票。

每天看看昨日收盘价是否高出过去20日平均价,是的话开盘就买入,不是开盘就卖出。每天都这么做,循环下去。

对应代码也是这两个部分

def initialize(context):

    用来写最开始要做什么的地方

def handle_data(context,data):

    用来写每天循环要做什么的地方

2 初始化

我们要写设置要交易的股票的代码,比如 兔宝宝(002043)

def initialize(context):

    g.security = '002043.XSHE'# 存入兔宝宝的股票代码

3 获取收盘价与均价

首先,获取昨日股票的收盘价

# 用法:变量 = data[股票代码].close

last_price = data[g.security].close# 取得最近日收盘价,命名为last_price

然后,获取近二十日股票收盘价的平均价

# 用法:变量 = data[股票代码].mavg(天数,‘close’)

# 获取近二十日股票收盘价的平均价,命名为average_price

average_price = data[g.security].mavg(20, 'close')

4 判断是否买卖

数据都获取完,该做买卖判断了

# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出

if last_price  average_price:

    买入

elif last_price  average_price:

    卖出

问题来了,现在该写买卖下单了,但是拿多少钱去买我们还没有告诉计算机,所以每天还要获取账户里现金量。

# 用法:变量 = context.portfolio.cash

cash = context.portfolio.cash# 取得当前的现金量,命名为cash

5 买入卖出

# 用法:order_value(要买入股票股票的股票代码,要多少钱去买)

order_value(g.security, cash)# 用当前所有资金买入股票

# 用法:order_target(要买卖股票的股票代码,目标持仓金额)

order_target(g.security, 0)# 将股票仓位调整到0,即全卖出

6 策略代码写完,进行回测

把买入卖出的代码写好,策略就写完了,如下

def initialize(context):#初始化

    g.security = '002043.XSHE'# 股票名:兔宝宝

def handle_data(context, data):#每日循环

    last_price = data[g.security].close# 取得最近日收盘价

# 取得过去二十天的平均价格

    average_price = data[g.security].mavg(20, 'close')

    cash = context.portfolio.cash# 取得当前的现金

# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出。

if last_price  average_price:

        order_value(g.security, cash)# 用当前所有资金买入股票

elif last_price  average_price:

        order_target(g.security, 0)# 将股票仓位调整到0,即全卖出

现在,在策略回测界面右上部,设置回测时间从20140101到20160601,设置初始资金100000,设置回测频率,然后点击运行回测。

7 建立模拟交易,使策略和行情实时连接自动运行

策略写好,回测完成,点击回测结果界面(如上图)右上部红色模拟交易按钮,新建模拟交易如下图。 写好交易名称,设置初始资金,数据频率,此处是每天,设置好后点提交。

8 开启微信通知,接收交易信号

点击聚宽导航栏我的交易,可以看到创建的模拟交易,如下图。 点击右边的微信通知开关,将OFF调到ON,按照指示扫描二维码,绑定微信,就能微信接收交易信号了。

如何使用Python api 函数写股票策略

利用context.now可以获得当前策略运行的时间,返回的是datetime.datetime格式。datetime.datetime格式可以很方便的进行日期、时间操作。

比如timedelta可以很方便的在日期上做日、小时、分钟、秒的运算。例如,需要策略运行时间1天前的时间,可以这样写:context.now+datetime.timedelta(days=-1),返回的便是一天前的时间。

python对股票分析有什么作用

你好,Python对于股票分析来说,用处是很大的

Python,用数据软件分析可以做股票的量化程序,因为股票量化是未来的一种趋势,能够解决人为心理波动和冲动下单等不良行为,所以学好python量化的话,那么对股票来说有很大很大帮助

如何用python炒股

你就是想找个软件或者券商的接口去上传交易指令,你前期的数据抓取和分析可能python都写好了,所以差这交易指令接口最后一步。对于股票的散户,正规的法子是华宝,国信,兴业这样愿意给接口的券商,但貌似开户费很高才给这权利,而且只有lts,ctp这样的c++接口,没python版就需要你自己封装。还有的法是wind这样的软件也有直接的接口,支持部分券商,但也贵,几万一年是要的,第三种就是走野路子,鼠标键盘模拟法,很复杂的,就是模拟键盘鼠标去操作一些软件,比如券商版交易软件和大智慧之类的。还有一种更野的方法,就是找到这些软件的关于交易指令的底层代码并更改,我百度看到的,不知道是不是真的可行。。散户就这样,没资金就得靠技术,不过我觉得T+1的规则下,预测准确率的重要性高于交易的及时性,花功夫做数据分析就好,交易就人工完成吧