|
maodeng 发表于 2013-1-28 13:13
* Y, z1 ?( g# R- |2 F, w C2 M. hello 300236% l5 J0 s+ T) ~( D' j
statement out of context2 v/ Y, c: j+ w: \
r(119);
6 w. x- U Z9 [8 c# U" |抱歉,最近太忙了
* n8 g" r! g1 [$ ]/ K: Z# T' L1 w/ M$ `: [
300236 我用下面的程序试过,没问题
7 T t9 a- F( l" ~0 O; J0 L2 i; U* O8 M9 k: l
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
0 Y: [; C: |' M. R: ^1 o: l1 r- O8 k3 g* @
capture program drop hello8 y9 ~( w" J4 U1 q: N
/ x& P$ p" @* \4 L' [1 a
program hello! x8 ]1 J6 Y3 E: V! m" I
7 Q/ \% X9 P# C) s- O quietly {
( X' J& Z! V+ C1 j: c- h/ l5 i# A! I' u& |5 H2 p
clear2 W* Y. {4 v2 p/ ~0 u
0 d; p1 w' I* J0 D
cd D:\stock\test\source% w& u: d9 p7 J
+ g4 [9 Z \8 O- v! ]& U3 I7 w4 l$ k
insheet using `1'.txt
/ A6 U' C5 m: P0 ?, A8 v) J6 o1 j$ O: r. J6 F; S( c
keep if v5>0
6 g0 }% b6 P4 n+ Y" |
9 _' w# x8 H1 N& |" }+ g0 G$ N gen vt=_n
; Z8 U. ~1 I3 E- d* h - ^! R0 u/ n& @ P, T$ Y
tsset vt
0 e+ I' W' w+ T- k, j/ d2 |$ \
/ S! E" Z: p- @; B8 G. ]* v gen zf=D1.v5
7 _ B7 M. Q' c% s- |; j& q
. I3 Y8 m( z8 J8 ~" t$ e" n gsort -v1
[+ ?# q1 I2 d0 z9 j2 J( v
: E2 v% k; J1 `8 w gen avol=v7/v5/ ^. x( W3 z; V6 `8 x6 L
& e/ ^& g- \- j. i: {9 y keep if avol>0* G! ^, G% G$ ~' A
1 S0 C9 E5 r2 _% b0 Z drop vt# M# y' N( E! i L/ }5 {
4 }+ K: S+ _. c4 ^) s gen vt=_n6 b1 ~8 m! C* N# Q3 m& M; z, H
$ Z& n) s0 @6 w% h8 m tsset vt. ]& x- l% a3 j, V# c0 Y! L% O
8 y! q+ K3 b/ D$ R: \$ Y sum v5 [aw =avol]' w f7 P) f; T3 K% [' l0 v
- Y! U; k: u, |9 b4 U
gen amean=r(mean) in 12 M) _* D. ` V( f) _& n4 f5 h
/ X+ X( Y) x. P2 R/ B * 总加权平均值 amean0 H- |) |% |; x) o# O( W2 x3 M& S
* E, S) s" e/ R8 A. b4 J/ K. B
' @. a; K/ Y( C: a' c* ` keep in 1/240
7 Y& z$ F# X5 {" b; q( R. y# o; w* ?" p& G/ e2 t
sum v5 [aw =avol]
2 x4 \& s& B4 H2 @( _- M) u' A* v$ ?9 D
gen mean240=r(mean) in 1
! t/ Z8 p% \; E
7 q4 s9 r5 @6 S *240加权平均值 mean240) C+ q! X4 s( Q6 P
Z0 K) q- L7 V* ]/ E" h: F set obs 500
- m6 S' T" \) S* |! V4 a' x
6 U& s [1 n0 p kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph( K7 F' V) D: b8 F3 Z8 Z7 \3 o7 `
- i' H8 e+ w* L) l
*240 kdensity(dx240 dy240)8 v& o6 H, f8 p* F
8 Z3 ]/ j% M* j3 @& K% ?+ x# F" B sum dy240
% t, G. q1 Q9 M
/ u: a% k N0 [' T gen yxis=r(max) in 1
M0 B" l: L! k2 b; ?% R $ {9 c* i5 a- U8 r
gen yxis2=yxis/2
. e, b4 m( L, R! j) E# c - y- O, d; Q$ i( r+ M
*yxis4 e/ u, `+ e+ v; `0 \8 J! \
- I& d5 Q1 i/ s5 Z gen dy240max=r(max)
" z% K1 J8 N; E% o; s. J2 q
9 |+ Y5 x& x% @0 e( j E5 e gen dy240minp=r(min)
7 f* E- n1 d: |, X0 E! b
7 D, g/ k8 |. V: X: \ gen vtt=_n# N, I/ }5 B! t5 D2 G
* g# S/ l7 U& g( l tsset vtt5 K7 o$ b% F1 K% R
d% ?7 N9 ]5 c; K
gen ddy240=D1.dy240/D1.dx240
1 W* B8 Z% s! [% a2 @% k9 r. W! H ) ?5 E( M5 Z7 @% s& x6 C: K
sum ddy240
/ I ^# P4 @9 R) s" J8 |
' N9 z! y/ }9 J" C) k gen ddy240max=r(max)5 Y7 S/ H( T8 w3 y( e( a
1 L6 G( T+ [. i7 O- y% z2 Y
gen ddy240min=r(min)
+ p& A1 _/ C# X% p0 r* z* ?
8 V* i o& e, V/ n& q3 c1 h gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)/ W5 P9 `; } v$ y4 w
% e' @# v) e0 S* y9 f
sum ddy240g
5 H: d) V+ M4 G7 D/ V4 I
4 i o7 Z4 p' C gen yxis3=r(min) in 13 ~4 L5 `9 }- M
' [$ f( u! A' C, W& s; m
gen yxis4=0 in 1- h8 L* l" {# ^" j8 w6 V
4 B3 b8 ^7 g5 g: k0 l
*ddy240g
: L2 I* Y8 J( r# n/ P - d5 F1 m% R6 G- O; p2 ?9 K' \
- o8 ^( d" P, [
preserve
4 C1 _# s, L$ t; ~ 4 H2 R. Z, o7 q& U, N/ z" U3 ?
sum v5 [aw =avol]
3 h8 Z( |. r( X" X C& W
6 W0 `, {( Q# d$ G5 }- H keep if dx240<r(mean)
3 O' h5 T' r6 ]$ N/ \# k& M9 n; ~. i 2 e/ f7 z: G; O4 `4 f/ p
sum ddy240. E3 c! q3 n) v( {: `, r% j
; R+ T' d: v' n& `+ f
if r(min)<0 {7 K2 g6 y# N; m' w. o3 n
3 t- V- K8 |8 O6 x! g3 Z# M3 { h
keep if ddy240<=0
. p j( t. k/ l+ d! l8 x9 l8 }6 Q4 \
1 B6 @4 ~$ ?4 |2 f count
: }- J4 A& T! D' ^( @. d% L- k
) {- e- t( |! `' w if r(N)>2 {
; g2 v8 {0 z0 y6 f" l5 ? + ?! i$ f1 ^6 y* X+ U/ N
pkexamine dx240 dy240/ K1 s9 P4 v% @) Z9 t. \! r' W
: |! [+ V6 y) n6 C2 W local tempminp=r(tomc)4 @1 W" X: K1 Y4 B0 h
restore
, h. h0 s9 h! J1 i9 h }
/ _+ R$ H! D3 N- W6 M' b
5 ?# l! W# j& I; W else {, z# F5 w5 j K5 u3 z/ l x0 {
1 M. c: u+ L$ R: Q
di "cannot find minp"
7 f0 [3 g. j9 v3 Q0 q ' v5 [( {+ a6 x5 g, z+ h* k, G
restore
2 l( H0 _* g, f' |2 e sum dx240* K# c8 I& B8 w7 l
local tempminp=r(mean)
; B1 t% M" i: L
) x: l( s9 w! E- l3 z }
s9 H, A5 s! X' E" i# _ }/ h1 R5 Z1 w; \, O; I1 a2 o
else {' w) p3 H5 H2 c) X; a9 L% U9 s3 R1 ?
@8 O/ l# E; c9 T9 O keep if ddy240<=r(min), M6 w- S( p, x/ Q/ E) I
# K& `( C* u- r( l: s" w
sum dx240- E; [6 b6 H3 z- d2 M) v
+ o+ h# Y2 n; T5 e6 ]9 V
local tempminp=r(min), ^+ r$ \3 z3 k* ~/ S$ d
restore
3 t( ^& c# A7 E5 S; N& K# i) V }
- l" S! b) V5 i/ a) k% c/ O- W7 x) g5 E1 s/ _" ~- d
% Y: e& G) v; p4 W' o) \0 n
' ^, n- J ^9 c9 `9 _1 v/ O* H
gen minp=`tempminp' in 1
6 i4 c* u0 H5 z& p9 Y" c" u; \ *240 minp v# n/ F: z8 ]' @
; g! B; }# Q' N9 t, a
0 v: ^% S& T$ E3 x) r7 k" v& U
/ y, n: Y5 T6 l: `: _1 L preserve 3 _: ]. q* B% A9 ~
# p+ K2 e: q/ z' v- \' W( Y sum v5 [aw =avol]
; [/ I1 e+ K6 x; q! J7 @ ( E# V/ B. G. w% b9 H2 d
keep if dx240>r(mean): I; j) @0 r$ e, z9 q
! D! e, E, o6 x+ J2 x, f" {. v
sum ddy240
, a3 k& {7 H! I! }& a . ^3 W* m) a4 d r( O& o6 E4 o7 q
if r(max)>0 {
) J) p! O. k* D( |% L% F( ?* H 0 S, [! y" J% V+ n
keep if ddy240>=0! w9 I" R7 H0 g8 M" J2 E
' b! e+ ^6 Q% N) K' X: o
count; D- r% a5 _# M
$ F! r5 J3 p7 f) Y if r(N)>2 {
5 \6 y ~+ }3 `# K5 i 4 `! }$ {* |4 P. X
pkexamine dx240 dy240
, o6 {( R0 g" F; q. J7 T
) W; L9 H7 @ j6 C; l+ i local tempmaxp=r(tomc) 2 f6 `: L( L7 ?' }& z- J5 d
restore
) q+ V* }& H% o8 q5 e }
% h* U5 J& r- ^( K) j2 X0 W$ |
$ b1 @8 L1 P& [, L, y8 O 3 O7 a4 Y- _" [( N$ R: }! s$ o& \
else {
Q4 A9 s+ n; k n' b restore
8 a5 z4 s- w% T2 l* v/ L! { di "cannot find maxp"
5 N- m3 V( o8 o6 k 4 P& d- w1 m- y/ w% F5 b2 b" j
. e" a% w4 U4 w: ` y) ^3 L$ s sum dx240
# ]# \) P2 A* U9 ]' m" O3 e local tempmaxp=r(mean)
0 R% e% x9 [/ V* ` t
% ?- D C8 E0 w# l; T% Z- q7 @9 z3 r }$ @, k8 V; K$ D( S: G
; H1 x) u9 o+ m }
3 l6 [/ g" T. H# B0 F4 j& K
! B% G+ r& `) q% Q else {
) @, i N( ^. @8 a: d- I+ @
9 X' k# N1 h# \+ r keep if ddy240>=r(max); {- E: I2 v+ |3 B* Y% I7 m3 r
$ @# `/ t0 _. e \; _3 f
sum dx240, p3 @" L8 i0 L R! c/ g
+ o+ ^( s& Z7 E local tempmaxp=r(max) " q, T' Y2 R( H$ U. h4 c1 B
restore 6 o3 o) y+ ]" U: N+ j* x) c
}
7 q2 f3 Y- r* F+ U
4 D* Y7 _: v/ ?5 m: P+ ^" t, J* T4 |' B: j( ]" d ~$ R7 |
' M- p6 l, S2 n3 d* C5 a" s, d# f3 |9 r! {
gen maxp=`tempmaxp' in 1# `: Q) [$ X$ S- A8 c+ p! C
( ]9 l/ L7 n/ A' s! L *240maxp
% S0 i9 ^5 s# ^
0 W( t% ~# z5 Q: S1 e; M
7 \! U4 z6 n, A+ x *-------------ddy240pminp左侧高峰值-----
3 }. i0 Z$ B* l3 i% _* q * b6 K( k' A, O U+ F
preserve ' I1 P! S0 j) @# X8 Y
5 D9 u6 X% ~. d- K. E% ^
keep if dx240<`tempminp'
9 d9 G& p+ E' A2 f" M T: b2 k" j4 J8 M+ c
keep if ddy240>0. Q/ p3 T3 {, H4 l4 ^2 F3 n
! _ Z4 G& R @2 {
count" L' l0 G% T( a1 @9 q
+ `; d, G) H' y. \' O' G0 e+ D
if r(N)>2 {7 l1 Y1 N# b2 M/ O9 {1 i* x
: ~! L& t: \% V# u
pkexamine dx240 ddy240( R0 E4 _# l' u3 c$ u& S
% l( X; {) A+ x% M9 x2 c# c# R# l local tempminphddy240=r(tomc) . ~& y; T- G" J" o0 ]* E
restore
9 U0 p: Y1 J) g }$ J4 }; s5 P2 E0 @% I8 J$ b4 Q5 V T
* R6 P5 ~ l+ f, H9 j: _ else { W7 X+ M8 Y3 D' x8 F# h3 U
restore ! v$ W& }8 L6 e @4 \1 Y5 n- |
di "cannot find pminphddy240"
9 @& @4 M: Y1 ^* S; t & x# t* ]8 L& J5 z/ w4 X9 v
. w7 @8 c% T, g: ]7 F sum dx2406 u$ P$ Y9 {& W+ `9 x7 J( R+ H5 W8 Z
local tempminphddy240=r(mean) Z+ H% i! M3 S1 D9 s! k
8 D1 d/ t) g9 n# d( x, a! t0 m+ z
5 b* s% F6 Y3 |6 K+ } }
2 {. t; r6 X" V4 y1 Y' s0 t % i- N! Z; p. F" G% F/ j' g
7 B( @2 \1 W) D$ h1 j: N
5 D& {$ [$ R4 v! b' @( l
/ K8 s; g$ y1 H( V6 s' x$ d' x
8 V3 u& ?5 W9 h
1 V0 o- @* d0 R8 Y gen pminphddy240=`tempminphddy240' in 16 W" ], v. N6 L4 r9 I) K7 {
- t8 J, @7 }+ D o& }( u4 j# Z5 p# j
*-------------ddy240pminp右侧低峰值 -----------------7 [1 H3 S6 _: n6 o
preserve
7 {' ]* x% Y1 w4 C1 B: y: Y2 H
8 ^; H8 l- ^; b5 r8 ~' O keep if dx240>`tempminp'
$ Z; e; A* @1 B! S9 i0 r / O& H3 v) j8 _ f$ @8 w% F
keep if dx240<`tempmaxp'
3 n. A$ H, R# G+ ?1 v , U7 C# V2 G$ s- H5 V2 }
keep if ddy240<0
5 a( a+ c1 b4 Q : T! T/ ^; r. g
gen temddy240=-ddy240
: [5 n* v7 Y) v
2 @2 y2 G6 t: H& U! B count
" |+ E5 Z" g; N, o1 y+ {: G 7 T4 [- U, i e4 C/ p3 \0 A( U* e
if r(N)>2 {
- T2 [2 N6 s+ D0 `# l1 f" D: Q; S 7 }( |& K3 \$ X
pkexamine dx240 temddy240
0 ?5 s. @6 l' M/ P- z . ^, X0 i7 W8 {9 N' }# ~: ^/ o* `
local tempminplddy240=r(tomc)" ?# `8 K3 u: J0 C
restore" _9 U* g8 J' D: p7 d) w: ]
}
; a$ {5 P. d' I! w3 b% G : A1 Q; k/ n/ F8 q! k/ y$ z
else {
8 ~# D, ~% D* ~' B* L- W6 h8 s1 p8 H
1 x2 U+ @+ l( L5 Y5 @/ F di "cannot find pminplddy240"8 K. [4 q+ E% e* k& {
restore- Z, P- h" b+ S9 {$ v' N
2 U1 q t4 ]6 |0 d# p$ e
sum dx2401 G9 L. v" {- Z
local tempminplddy240=r(mean)8 z6 B7 J2 W* H1 D- o
; \+ @. i/ m5 z3 V p* E4 r
4 \% }4 o3 z. _3 ]6 ?; b2 A }
3 L5 D; O& `) E% Q 0 S0 ]! ~% i$ A( R9 Y" _5 Z3 q+ {8 I
6 g* A1 s _5 D$ R7 l" q" X9 ]) ]
. {) f; m% I& P h3 }/ J
% h/ W! N; i7 k0 D4 A: c8 c 7 U/ ^% [3 N9 }+ @& ^
gen pminplddy240=`tempminplddy240' in 1* W, y! R% ^; V7 T2 ?
: f3 H: L1 |$ f5 C
*-------------ddy240pmaxp左侧高峰值 -------------------
+ _) j/ l) A) R( b2 J4 Z- b
; _8 E- i6 k. b+ O7 d# Z+ | preserve
' ?; n) c9 W* f. m' ^0 x5 {/ m . [) A7 p. ^1 Y4 F3 \0 \; g- k
keep if dx240>`tempminp' K6 x& m3 o- H
6 Y$ i0 i7 s! p% j5 b3 i& z- N9 B
keep if dx240<`tempmaxp'
J. ]: m h+ G0 Y5 e / w8 P& U% N+ O& X
keep if ddy240>0% A: V! t/ |4 u/ t
count1 }3 t/ n- D s; F! G: @* w
& P% B, V: k# Z5 z8 { if r(N)>2 {8 s* n0 H0 q1 o4 A
" d2 w( e }0 j2 j pkexamine dx240 ddy240
( o- n( M/ H; J
4 K3 A$ w0 a. X; Z3 k1 z8 J local tempmaxphddy240=r(tomc)
# X" K8 k4 z" A 3 ~- ~ E7 }8 }( f. Q. r+ f! h; k( W
restore
/ U' p+ J G4 ]6 t2 {- Z5 A }! b- e" L) d9 U; L4 K* M, y
, k4 V, a6 N: ?0 x: e" [ else {
, Q" ]8 f2 s! ~' e0 K " e; d+ [) {- R
di "cannot find pmaxphddy240"
# l, u! ]8 `8 f: f restore$ x- w& C w. x, b# H
) w* q# Z4 P: j: `6 \2 Y; L sum dx240
$ ]. ~6 F: N, h# O local tempmaxphddy240=r(mean) , O T: W2 P8 G9 [
* H9 h* d: j& i7 A* ~4 {+ I4 Q: P
+ j& Y9 c0 l# c+ k- ] }
2 Y3 g( \1 l; \* z7 j% }4 c" t
5 Q5 s% j# o H7 s5 `/ X ; i7 L; }+ ^+ A7 H4 n$ f9 \
% U8 O2 @* B4 ]0 y! w
( Q9 C9 K- t" G/ @ ' [* L1 t8 C, R' b& Q v8 v
' a7 h# N9 L# u gen pmaxphddy240=`tempmaxphddy240' in 1% i N4 a3 @' |" b$ T7 R
$ I4 w9 [$ I2 i0 S7 z8 L! J1 W+ t) N
# O: c/ n; P7 U& o' G *-------------ddy240pmaxp右侧低峰值 -------------------
, E/ R' H7 k" Z. p7 M* T
! s) z! O! B6 d! J preserve " v" r0 T6 P9 ?$ t: f0 r4 |) P
) g" [( N9 I9 q7 e6 l keep if dx240>`tempmaxp'7 I) X: D/ i3 ]2 n- j' |* K
, N6 b. r$ W( `2 x D H gen temddy240=-ddy240
) b( Z) D. y; a, V/ C* H2 Z" g! c 1 m8 A6 Q, p6 Q- K
keep if temddy240>0& G* h A7 @ O+ L
9 Q& i9 v( Y* F. [8 H. c
count
* g' W _3 S9 d9 [; ?
; [# E. V+ c; M- F if r(N)>2 {* k2 n, f J& |; w* W4 \& D! {
( u7 }" b! ^) \# j) ~. x pkexamine dx240 temddy240- ~' N8 l2 U5 S. |$ z; m
- B* q6 i+ m; y9 q! }# v local tempmaxplddy240=r(tomc)
! V6 M9 S9 |' s restore9 L p3 [6 Q: c0 `
}3 c% Y/ J$ k& B2 ^& ^# r) |
2 c$ I* }" V% R: W6 V* w else {
9 u1 I' a n% f, G restore# x, G5 X7 ?. a6 T; R
di "cannot find pmaxlhddy240"
: x. o0 x, L# c" B/ o1 O8 m & A1 u+ N, \0 }! `: o6 b
^" {# p* M) w ?* e5 p7 v+ Y0 m% C
sum dx240
& L; J2 X, X2 j. D, k& |0 @ local tempmaxplddy240=r(mean) in 1( I! S! k: R: K5 I* P9 L) X
* V( ?4 ~3 b; ^3 u
9 }0 d2 j: H& s
}$ C* V& w2 F3 T, R
2 I5 l. V$ Q4 t7 k4 t8 T# j1 R$ a
3 H) k9 A5 E. B& u; G/ \& J! h 6 v( _5 n) P; x/ Q, p" F; K
1 z8 j- q( [$ I5 `9 c8 Z% s' i 0 i! S: M+ ^( ~5 C% v
( [/ P* n9 w/ @7 } gen pmaxplddy240=`tempmaxphddy240' in 1% J" |7 K: ]/ G1 g; p, v2 ]
) U7 W2 ]% N1 c$ M d+ {8 ^ *-------------------------------------6 [" d$ ?1 l3 n1 q; e
/ O- j1 q1 |6 {" i& n gen price5d=v5 in 1/20
* N8 {) C% U, o' _' W8 O , `/ O: Y( H( \/ j- W# d# A, Q
gen price5yy=_n in 1/20/ \6 s6 m1 g8 C& I% ]& ?( U
V" D+ J9 D' Z% G. m" U" d9 {) t
gen price5y=price5yy*(dy240max-dy240min)/20
% R! N: t6 N4 }4 y$ p# Q" e @4 k( h( C0 F+ x1 i: F; M
*price5y &price5d
) S9 A5 g5 a Z. F
# g- o& f' @% Z gen priceny=price5y in 17 h8 h3 g4 e! T! E% x) X
* u6 _& v5 }4 f1 f0 W1 ]' T6 D
gen pricen=v5 in 1- ^2 Z6 q) d+ b# A7 r2 J1 @
* p5 M+ w/ x# ] 1 k) W7 h- c8 e. C2 H( P
*priceny &pricen) W1 P$ U5 i9 m
$ N2 B- y6 b: G2 P$ P) Q
4 V! O- f9 x. F, g7 D
*-------------------------graph------------------
9 O" K$ B4 R B
* d- s3 K3 v# |& \& } tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
2 E' w: L6 W1 n4 c1 K% b
# `/ x2 P! @2 n6 i/ b* ---------可选项目----------------------5 N3 t/ s, K4 B& l2 ?, d
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
7 S/ u! q* q) R* j7 c$ i5 p}
5 ?! x7 v8 U# B* q2 Q2 \6 Oend
- w# k8 T# W4 \* G& k- g |
|