top of page

Search Results

56 results found with an empty search

  • Dynamic Forestry and Agricultural Summary of ECOWAS states | Akweidata

    < Back Dynamic Forestry and Agricultural Summary of ECOWAS states Work in progress Previous Next

  • Scrapping Oil related articles | Akweidata

    < Back Scrapping Oil related articles Run on python via GoogleCollab # Install and set up necessary packages and dependencies !pip install selenium !apt-get update !apt install chromium-chromedriver import sys sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver') from selenium import webdriver from selenium.webdriver.chrome.options import Options from bs4 import BeautifulSoup import pandas as pd # Set up Chrome options for Selenium chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') # Initialize the Chrome WebDriver with the specified options driver = webdriver.Chrome(options=chrome_options) # Fetch the Web Page url = 'https://news.google.com/search?q=oil%20prices' driver.get(url) # Get the page source and close the browser html = driver.page_source driver.quit() # Parse the Web Page using BeautifulSoup soup = BeautifulSoup(html, 'html.parser') articles = soup.find_all('article') # Extract the Necessary Information news_data = [] base_url = 'https://news.google.com' for article in articles: # Extracting the title and link title_link_element = article.find('a', class_='JtKRv', href=True) title = title_link_element.text.strip() if title_link_element else "No Title" link = base_url + title_link_element['href'][1:] if title_link_element else "No Link" # Extracting the date time_element = article.find('time') date = time_element['datetime'] if time_element and 'datetime' in time_element.attrs else time_element.text.strip() if time_element else "No Date" news_data.append([title, link, date]) # Store the Data in a DataFrame df = pd.DataFrame(news_data, columns=['Title', 'Link', 'Date']) csv_file = 'google_news_oil_prices.csv' df.to_csv(csv_file, index=False) # Download the file to your computer (only works in Google Colab) try: from google.colab import files files.download(csv_file) except ImportError: print("The files module is not available. This code is not running in Google Colab.") Future Projects: Relation of frequency of Oil related posts and sustainability risks Relation of frequency of Oil related posts and Stock Prices (General & Oil producing/intensive firms) Updated Code # Install and set up necessary packages and dependencies !pip install selenium !apt-get update !apt install chromium-chromedriver import sys sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver') from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import pandas as pd import time from datetime import datetime, timedelta import re # Function to convert various date formats to a standardized format def convert_relative_date(text): current_datetime = datetime.now() current_year = current_datetime.year if 'hour' in text or 'hours' in text: return current_datetime.strftime('%Y-%m-%d') elif 'day' in text or 'days' in text: match = re.search(r'\d+', text) days_ago = int(match.group()) if match else 0 return (current_datetime - timedelta(days=days_ago)).strftime('%Y-%m-%d') elif 'minute' in text or 'minutes' in text: return current_datetime.strftime('%Y-%m-%d') elif 'yesterday' in text.lower(): return (current_datetime - timedelta(days=1)).strftime('%Y-%m-%d') else: try: parsed_date = datetime.strptime(text, '%b %d') return datetime(current_year, parsed_date.month, parsed_date.day).strftime('%Y-%m-%d') except ValueError: return text # Return the original text if parsing fails # Set up Chrome options for Selenium chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') # Initialize the Chrome WebDriver with the specified options driver = webdriver.Chrome(options=chrome_options) # Fetch the Web Page url = 'https://news.google.com/search?q=oil%20prices' driver.get(url) # Scroll the page to load more articles for _ in range(5): # Adjust the range for more or fewer scrolls driver.find_element(By.TAG_NAME, 'body').send_keys(Keys.END) time.sleep(2) # Wait for page to load # Get the page source and close the browser html = driver.page_source driver.quit() # Parse the Web Page using BeautifulSoup soup = BeautifulSoup(html, 'html.parser') articles = soup.find_all('article') # Extract the Necessary Information news_data = [] base_url = 'https://news.google.com' for article in articles: title_link_element = article.find('a', class_='JtKRv', href=True) title = title_link_element.text.strip() if title_link_element else "No Title" link = base_url + title_link_element['href'][1:] if title_link_element else "No Link" time_element = article.find('time') date = time_element.text.strip() if time_element else "No Date" news_data.append([title, link, date]) # Store the Data in a DataFrame df = pd.DataFrame(news_data, columns=['Title', 'Link', 'Date']) # Convert dates to a standardized format for i, row in df.iterrows(): df.at[i, 'Date'] = convert_relative_date(row['Date']) # Save the DataFrame to CSV csv_file = 'google_news_oil_prices.csv' df.to_csv(csv_file, index=False) # Download the file to your computer (only works in Google Colab) try: from google.colab import files files.download(csv_file) except ImportError: print("The files module is not available. This code is not running in Google Colab.") Previous Next

  • Do Sustainable Funds in Switzerland outperform the Market? | Akweidata

    < Back Do Sustainable Funds in Switzerland outperform the Market? What is the performance of "sustainable" funds in relation to the market? Let's explore the case of the SIX Swiss Exchange Previous Next

  • Smartphone App for University Students | Akweidata

    < Back Smartphone App for University Students An all-purpose app for Ashesi students. Project from 2017 Life at Ashesi University, like any university, can be overwhelming and disorganized. To streamline this experience, I suggest the development of a versatile mobile app that centralizes various essential services, thereby aiding in effective time management for students. The university offers a range of services including student support, counseling, and tutoring. However, accessing these services often proves to be a cumbersome and time-consuming process. In addition to these, many students are unaware of the contact details for on-campus emergency services and national emergency numbers in Ghana. In critical situations, this lack of information could lead to wastage of precious time. To tackle these issues, the proposed app would be a comprehensive solution. It would feature functionalities like accurate weather forecasts by integrating with the Accuweather website for Berekuso forecasts, a meal plan balance checker linked with the Ashesi meal plan webpage, and a digital menu for campus eateries like Akornor and Big Ben. Additionally, the app would include a directory of contact details for Ashesi’s various services and emergency services, with the added convenience of calling these contacts directly from the app. This integration would ensure that all necessary information and services are readily accessible to students, thereby enhancing their university experience and safety. Pseudocode 1. When the app is started the homepage is displayed. 2. The homepage displays titles “Meal Plan,” “Weather,” “Ashesi Services,” “Food” and “Emergency Services.” 3. If “Meal Plan” is selected, the webpage of the Ashesi Meal plan is displayed. 4. If “Weather” is selected, the webpage for accuweather (set for Berekuso) is displayed. 5. If “Food” is selected restaurants in Ashesi are displayed. 6. Select any restaurant and their menu shall be displayed. 7. If “Ashesi Services” is selected a list of Ashesi Services are displayed. 8. Select any service and their contact details is displayed for calling . 9. If “Emergency Services” is selected a list of Emergency Services are displayed. 10. Select any emergency service and their contact details is displayed for calling . Figure 1: Flowchart * Due to the senstivity of some information within the app, kindly request for access. Upon access being granted, the links below shall be temporarily activated. Download APK via Github: https://github.com/akweix/Ash-App Download Android App via Thunkabale: https://x.thunkable.com/copy/b63301e1a6082169dd0d9aa036ac119d Previous Next

  • Alternative Data Regressor Framework: Flow Chart | Akweidata

    < Back Alternative Data Regressor Framework: Flow Chart A framework for linear regression of alternative data against financial asset prices - the flow chart Previous Next

  • Web-Scrapper V1: Web Application | Akweidata

    < Back Web-Scrapper V1: Web Application Web Application for web-scrapping news articles Full code here on Python Anywhere Previous Next

  • Ghana Stock Exchange: Real-Time Prices Web App V1 | Akweidata

    < Back Ghana Stock Exchange: Real-Time Prices Web App V1 A basic web-application to find real time summaries of stocks on Ghana's Stock Exchange (GSE) This Web-app is fully powered by GSE-API: Ghana Stock Exchange API found on http://dev.kwayisi.org/ . Github: https://github.com/akweix/GSE_price_finder Listed Companies and their Tickers on GSE Previous Next

  • Sustainability Dimensions of Stocks on the SIX:Render 2 | Akweidata

    < Back Sustainability Dimensions of Stocks on the SIX:Render 2 Quantitatively assessing Brundtland's Dimensions (1987). The case of the SIX Previous Next

  • Cocoa Production: Ghana and Ivory Coast - Historic Trend | Akweidata

    < Back Cocoa Production: Ghana and Ivory Coast - Historic Trend Work in progress Previous Next

  • Initial margin requirement for Derivative Trading | Akweidata

    < Back Initial margin requirement for Derivative Trading A simplified VaR-based approach to calculate the initial margin requirement for Derivative Trading Previous Next

  • Electricity Consumption as a proxy of production: Draft 1 | Akweidata

    < Back Electricity Consumption as a proxy of production: Draft 1 Using publicly available data on Swiss Power Consumption, this exploration seeks to identify an association with power consumption and select firms output https://www.swissgrid.ch/en/home/operation/grid-data/current-data.html#wide-area-monitoring https://www.ewz.ch/en/about-ewz/newsroom/current-issues/electricity-shortage/city-zurich-energy-consumption.html https://data.stadt-zuerich.ch/dataset/ewz_stromabgabe_netzebenen_stadt_zuerich https://data.stadt-zuerich.ch/group/energie Work in Progress Previous Next

  • Game Theory: Prisoner's Dilemma Strategies Tools | Akweidata

    < Back Game Theory: Prisoner's Dilemma Strategies Tools Recreating and Simulating Robert Axelrod's 1980 Computer Tournament. Previous Next

bottom of page