Fork me on GitHub

金融数据分析| JoinQuant 量化策略

 

第一个量化策略:

设置股票池为沪深300的所有成分股, 
如果当前股价小于10元/股且当前不持仓, 则买入;
如果当前股价比买入时上涨了25%, 则清仓止盈;
如果当前股价比买入时下跌了10%, 则清仓止损。

https://www.joinquant.com/algorithm/index/list

   

 

复制代码
import jqdata

def initialize(context):
    #g.security = '601318.XSHG'
    set_benchmark('000300.XSHG')
    g.security = get_index_stocks('000300.XSHG')
    set_option('use_real_price', True)
    set_order_cost(OrderCost(open_tax=0, close_tax=0.001,open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
    #print(g.security)

def handle_data(context, data):
    #print(get_current_data()['601318.XSHG'].day_open)
    #print(attribute_history('601318.XSHG', 5))
    #order('601318.XSHG', 10000)

    #一般情况下先卖后买
    tobuy = []
    for stock in g.security:
        p = get_current_data()[stock].day_open
        amount = context.portfolio.positions[stock].total_amount
        cost = context.portfolio.positions[stock].avg_cost
        if amount > 0 and p >= cost * 1.25:
            order_target(stock, 0) #止盈
        if amount > 0 and p <= cost * 0.9:
            order_target(stock, 0) #止损
        if p <= 10.0 and amount == 0:
            tobuy.append(stock)
    cash_per_stock = context.portfolio.available_cash / len(tobuy)
    for stock in tobuy:
        order_value(stock, cash_per_stock)
复制代码

 

 

posted @   kris12  阅读(862)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2019-05-13 Fink| 实时热门商品
2019-05-13 Fink| CEP
2019-05-13 Fink| source| transform| sink
2018-05-13 JavaScript
levels of contents
点击右上角即可分享
微信分享提示