day002

命名规范

主方法名与类名要一致

见名知意

驼峰原则:类名大写开始,方法名小写开始

常量:大写字母加下划线 MAX_VALUE

注释

单行注释

//

多行注释

/*

*/

文档注释

javadoc

/**

*

*

*/

标识符

  • 所有标识符都以字母,美元符,或者下划线开始

  • 首字符以后可以是字母,美元符,下划线或数字的任何字符组合

  • 标识符是大小写敏感的

数据类型

强类型语言:要求变量必须严格符合规定,所有变量必须顶以后才能使用

弱类型语言:

基本类型

1. 数值类型

  • 整数类型

byte/short/ int/ long

整数拓展:

二进制0b

十进制

八进制0

十六进制0x

  • 浮点类型

    float/ double

    浮点型有舍入误差的特点,不适合银行使用

  • 字符类型

    char

2.Boolean类型

引用类型

1.类

2.接口

3.数组

类型转换

强制类型转换(类型)高——低 自动转换 低——高

(布尔值不能转换)

(操作数值较大的数时,注意溢出问题)

变量

java变量是程序中最基本的的储存单元,其要素包括变量名,变量类型和作用域

局部变量在方法内

全局变量在class内(实例变量)

如果实例变量不初始化,为默认值false/null/0

类变量:需要加static,类变量从属于类

常量

定义之后不会改变的值

用final来定义

例如:static final double PI=3.14

import pandas as pd df = pd.read_csv('stock_data.csv') df['four_days_increase'] = df['close'].rolling(window=4).apply(lambda x: all(x[i] < x[i+1] for i in range(3))) * 1 df['three_days_decrease'] = df['close'].rolling(window=3).apply(lambda x: all(x[i] > x[i+1] for i in range(2))) * 1 capital = 1000000 max_stock_per_day = 10 max_stock_value = 100000 start_date = '2020-01-01' end_date = '2023-01-01' df = df[(df['date'] >= start_date) & (df['date'] < end_date)] df = df.reset_index(drop=True) hold_stock = [] for i, row in df.iterrows(): if len(hold_stock) > 0: sell_stock = [] for stock in hold_stock: if i - stock['buy_day'] >= 3: capital += stock['buy_price'] * stock['buy_qty'] * (1 - 0.002) sell_stock.append(stock) hold_stock = [stock for stock in hold_stock if stock not in sell_stock] df_today = df.loc[i:i+3] if i + 3 >= len(df): break if all(df_today['four_days_increase']) and all(df_today['three_days_decrease'].iloc[1:]): available_capital = capital available_stock = max_stock_per_day available_value = max_stock_value for j, stock_row in df_today.iterrows(): if available_capital > 0 and available_stock > 0 and available_value > 0: buy_qty = min(int(available_capital / (stock_row['close'] * 1.002)), available_stock, int(available_value / (stock_row['close'] * 1.002))) if buy_qty > 0: hold_stock.append({'buy_day': i, 'buy_price': stock_row['close'], 'buy_qty': buy_qty}) available_capital -= stock_row['close'] * buy_qty * 1.002 available_stock -= 1 available_value -= stock_row['close'] * buy_qty * 1.002 print('Final capital:', capital)让上述代码在jupyter里不报错
06-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值