优秀建筑毕业设计:从Ecopark到Free-Style Hotels

版权申诉
0 下载量 195 浏览量 更新于2024-07-10 收藏 7.21MB PDF 举报
"Architecture Portfolio 2011_Angelica Margherita Frullini.pdf" 是一本展示 Angelica Margherita Frullini 的建筑设计作品的电子作品集,其中包括她在不同学习阶段完成的优秀项目,反映了她在建筑领域的创新思维和实践能力。 Frullini 女士在罗马建筑学院(Valle Giulia)和瑞典皇家理工学院(KTH Stockholm School of Architecture)接受过教育。她的作品涵盖了多元化的主题和设计概念,如“Ecopark”,“La Faresiana”,“Free-Style Hotels”以及与MVRDV设计事务所相关的项目。这些项目展示了她对环境、可持续性以及城市演变的深刻理解和独特见解。 在“Sewing Sea Land”项目中,Frullini女士参与了一次与ESSE3 Architects合作的竞赛,针对意大利阿格里真托(Agrigento)的海滨地区进行设计。这个设计可能涉及到对海岸线的创新利用,旨在平衡自然与人类活动的关系。 “Stockholm in Evolution”是她在第五年学习期间与Valle Giulia和White Architects合作的一个新生活空间设计,位于瑞典的诺尔达尤尔格årdstan。这个项目可能探讨了城市扩张与环境保护之间的平衡,以及如何通过建筑设计来促进社区的发展。 “Econnect”酒店设计是在KTH的第四年学习期间完成的,地点在挪威的斯塔万格。该项目的核心是一个流动的公共空间,这可能是为了创造一个互动性强、吸引人的社交场所,鼓励人们之间的交流和联系。 “Generality/Individuality”是一个位于瑞典乌梅奥(Umea)的礼堂设计,同样体现了Frullini对于建筑功能性和个性化的探索。这个项目可能旨在创造出既能满足大众需求又具有独特性的建筑空间。 “Ecopark”是一个能源博物馆和生态公园的结合体,可能在Frullini的第五年学习阶段于罗马完成。这个设计强调了建筑与环境的和谐共生,以及教育公众关于可持续发展的使命。 通过这些项目,Frullini展示了她在建筑领域的广泛兴趣和专业技能,包括但不限于环境适应性、城市规划、公共空间设计和可持续性。她的作品集不仅是其个人才华的体现,也为其他学生和专业人士提供了灵感和参考。

import jqdata # 初始化聚宽账号密码 def initialize(context): # 设置回测日期区间 set_benchmark('000300.XSHG') set_option('use_real_price', True) # 设置买入的股票数量上限 g.max_stock_count = 5 def handle_data(context, data): # 获取当前日期 current_date = context.current_dt.date() # 获取股票池中的股票列表 stocks = get_index_stocks('000852.XSHG') # 按照股票池中的股票进行遍历 for stock in stocks: # 判断股票是否满足买入条件 if check_buy_condition(stock, current_date, context): buy_stock(stock, context) # 判断持有的股票是否满足卖出条件 if check_sell_condition(stock, current_date, context): sell_stock(stock, context) def check_buy_condition(stock, current_date, context): # 判断股票是否连续下跌三天 prices = attribute_history(stock, 3, '1d', ['close']) if len(prices) == 3 and prices['close'][-1] < prices['close'][-2] < prices['close'][-3]: return True else: return False def buy_stock(stock, context): # 判断当前持仓的股票数量是否已达上限 if len(context.portfolio.positions) >= g.max_stock_count: return # 买入股票 order_value(stock, context.portfolio.cash / g.max_stock_count) def check_sell_condition(stock, current_date, context): # 获取持有股票的买入日期 buy_date = context.portfolio.positions[stock].init_time.date() # 判断是否满足卖出条件 if current_date - buy_date >= 3: # 判断是否亏损超过5% if (context.portfolio.positions[stock].last_price - context.portfolio.positions[stock].avg_cost) / context.portfolio.positions[stock].avg_cost <= -0.05: return True return False def sell_stock(stock, context): # 卖出股票 order_target(stock, 0)当中buy_date = context.portfolio.positions[stock].init_time.date()报错'NoneType' object has no attribute 'date'

2023-07-10 上传

import numpy as np import pandas as pd import talib def initialize(context): context.symbol = 'BTCUSDT' context.window_size = 5 context.deviation = 1 context.trade_size = 0.01 context.stop_loss = 0.05 context.take_profit = 0.1 schedule_function(rebalance, date_rules.every_day(), time_rules.market_open()) def rebalance(context, data): price = data.history(context.symbol, 'close', context.window_size + 1, '1d') signal = mean_reversion_signal(price, context.window_size, context.deviation) current_position = context.portfolio.positions[context.symbol].amount if signal[-1] == 1 and current_position <= 0: target_position_size = context.trade_size / data.current(context.symbol, 'close') order_target_percent(context.symbol, target_position_size) elif signal[-1] == -1 and current_position >= 0: order_target(context.symbol, 0) elif current_position > 0: current_price = data.current(context.symbol, 'close') stop_loss_price = current_price * (1 - context.stop_loss) take_profit_price = current_price * (1 + context.take_profit) if current_price <= stop_loss_price or current_price >= take_profit_price: order_target(context.symbol, 0) def moving_average(x, n): ma = talib.SMA(x, timeperiod=n) return ma def std_deviation(x, n): std = talib.STDDEV(x, timeperiod=n) return std def mean_reversion_signal(price, window_size, deviation): ma = moving_average(price, window_size) std = std_deviation(price, window_size) upper_band = ma + deviation * std lower_band = ma - deviation * std signal = np.zeros_like(price) signal[price > upper_band] = -1 # 卖出信号 signal[price < lower_band] = 1 # 买入信号 return signal ''' 运行回测 ''' start_date = pd.to_datetime('2019-01-01', utc=True) end_date = pd.to_datetime('2021-01-01', utc=True) results = run_algorithm( start=start_date, end=end_date, initialize=initialize, capital_base=10000, data_frequency='daily', bundle='binance' ) ''' 查看回测结果 ''' print(results.portfolio_value)格式错误

2023-05-26 上传

def initialize(context): # 设置回测日期区间 set_benchmark('000300.XSHG') set_option('use_real_price', True) # 设置买入的股票数量上限 g.max_stock_count = 5 def handle_data(context, data): # 获取当前日期 current_date = context.current_dt.date() # 获取股票池中的股票列表 stocks = get_index_stocks('000852.XSHG') # 按照股票池中的股票进行遍历 for stock in stocks: # 判断股票是否满足买入条件 if check_buy_condition(stock, current_date, context): buy_stock(stock, context) # 判断持有的股票是否满足卖出条件 if check_sell_condition(stock, current_date, context): sell_stock(stock, context) def check_buy_condition(stock, current_date, context): # 判断股票是否连续下跌三天 prices = attribute_history(stock, 3, '1d', ['close']) if len(prices) == 3 and prices['close'][-1] < prices['close'][-2] < prices['close'][-3]: return True else: return False def buy_stock(stock, context): # 判断当前持仓的股票数量是否已达上限 if len(context.portfolio.positions) >= g.max_stock_count: return buy_date = context.current_dt.date() # 买入股票 order_value(stock, context.portfolio.cash / g.max_stock_count) def check_sell_condition(stock, current_date, context): # 获取持有股票的买入日期 buy_date = context.current_dt.date() time_diff = current_date - buy_date threshold = timedelta(days=3) # 判断是否满足卖出条件 if time_diff >= threshold or ((context.portfolio.positions[stock].last_price - context.portfolio.positions[stock].avg_cost) / context.portfolio.positions[stock].avg_cost <= -0.05): # 判断是否亏损超过5% return order_target(stock, 0) 报错 type object 'UserObject' has no attribute '__getattr__'

2023-07-11 上传