Skip to content

mvgrimes/Finance-Bank-Schwab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

Finance::Bank::Schwab - Check your account balances at Charles Schwab

VERSION

version 2.03

SYNOPSIS

use Finance::Bank::Schwab;
my @accounts = Finance::Bank::Schwab->check_balance(
    username     => "xxxxxxxxxxxx",
    password     => "12345",
    get_position => 1,
);

for ( @accounts ) {
    printf "%20s : %8s / %8s : USD %9.2f USD %9.2f\n",
        $_->name, $_->sort_code, $_->account_no, $_->cash, $_->balance;

  for my $position ( @{ $_->positions } ) {
      printf "# \t%-10s %-10s %10s Shares \@ \$%-15s\n",
        $position->type,
        $position->symbol,
        $position->quantity,
        $position->price;
  }
  print "\n";

}

DESCRIPTION

This module provides a rudimentary interface to the Charles Schwab site. You will need either Crypt::SSLeay or IO::Socket::SSL installed for HTTPS support to work. WWW::Mechanize is required. If you encounter odd errors, install Net::SSLeay and it may resolve itself.

CLASS METHODS

check_balance()

check_balance( usename => $u, password => $p, get_positions => 1 )

Return an array of account objects, one for each of your bank accounts. If the get_positions flag is true then account positions (share counts, prices, etc) will be retrieved as well.

OBJECT METHODS

$ac->name
$ac->sort_code
$ac->account_no

Return the account name, sort code and the account number. The sort code is just the name in this case, but it has been included for consistency with other Finance::Bank::* modules.

$ac->balance

Return the account balance as a signed floating point value.

$ac->cash

Return the cash balance as a signed floating point value. This is useful if the account has margin borrowing as the balance alone doesn't do justice.

$ac->positions

Returns a reference to an array of Finance::Bank::Schwab::Account::Positions objects. Each provides the following method:

$position->symbol      (String)
$position->quantity    (Signed Float)
$position->price       (Signed Float)
$position->type        (Stock/Bond/Cash/Unknown)

WARNING

This warning is verbatim from Simon Cozens' Finance::Bank::LloydsTSB, and certainly applies to this module as well.

This is code for online banking, and that means your money, and that means BE CAREFUL. You are encouraged, nay, expected, to audit the source of this module yourself to reassure yourself that I am not doing anything untoward with your banking data. This software is useful to me, but is provided under NO GUARANTEE, explicit or implied.

THANKS

Simon Cozens for Finance::Bank::LloydsTSB. The interface to this module, some code and the pod were all taken from Simon's module.

Thanks to Ryan Clark ryan.clark9@gmail.com for contributing the initial implementation of the share count/price/etc retrieval routines.

AUTHOR

Mark Grimes mgrimes@cpan.org

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Mark Grimes mgrimes@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

About

Check your Charles Schwab accounts from Perl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published